comment "lighttpd needs a toolchain w/ dynamic library"
	depends on BR2_USE_MMU
	depends on BR2_STATIC_LIBS

config BR2_PACKAGE_LIGHTTPD
	bool "lighttpd"
	depends on BR2_USE_MMU # fork()
	depends on !BR2_STATIC_LIBS
	help
	  lighttpd a secure, fast, compliant and very flexible
	  web-server which has been optimized for high-performance
	  environments. It has a very low memory footprint compared to
	  other webservers and takes care of cpu-load. Its advanced
	  feature-set (FastCGI, CGI, Auth, Output-Compression,
	  URL-Rewriting and many more) make lighttpd the perfect
	  webserver-software for every server that is suffering load
	  problems.

	  http://www.lighttpd.net/

if BR2_PACKAGE_LIGHTTPD

config BR2_PACKAGE_LIGHTTPD_OPENSSL
	bool "openssl support"
	select BR2_PACKAGE_OPENSSL
	help
	  Enable OpenSSL support for lighttpd.

config BR2_PACKAGE_LIGHTTPD_ZLIB
	bool "zlib support"
	select BR2_PACKAGE_ZLIB
	help
	  Enable zlib support for lighttpd mod_compress.

config BR2_PACKAGE_LIGHTTPD_BZIP2
	bool "bzip2 support"
	select BR2_PACKAGE_BZIP2
	help
	  Enable bzip2 support for lighttpd mod_compress.

config BR2_PACKAGE_LIGHTTPD_PCRE
	bool "pcre support"
	select BR2_PACKAGE_PCRE
	help
	  Enable PCRE support. Needed to support mod_rewrite

config BR2_PACKAGE_LIGHTTPD_WEBDAV
	bool "webdav support"
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_SQLITE
	help
	  Enable webdav support. Needed to support mod_webdav

config BR2_PACKAGE_LIGHTTPD_LUA
	bool "lua support"
	depends on BR2_PACKAGE_LUA
	help
	  Enable Lua support. Needed to support mod_magnet

endif
