menuconfig BR2_PACKAGE_NGINX
	bool "nginx"
	depends on BR2_USE_MMU # fork()
	select BR2_PACKAGE_LIBATOMIC_OPS if BR2_sparc_v8 || BR2_sparc_leon3
	help
	  nginx is an HTTP and reverse proxy server, as well as a mail proxy
	  server.

	  http://nginx.org/

if BR2_PACKAGE_NGINX

config BR2_PACKAGE_NGINX_FILE_AIO
	bool "file AIO support"
	# Does not build, because nginx hardcodes using SYS_eventfd,
	# but it's available on neither AArch64 nor ARC where only
	# eventfd() is available. See
	# https://bugs.launchpad.net/linaro-aarch64/+bug/1160013
	depends on !BR2_aarch64
	depends on !BR2_arc

config BR2_PACKAGE_NGINX_THREADS
	bool "thread pool support"
	depends on BR2_TOOLCHAIN_HAS_THREADS

comment "thread pool support needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_NGINX_HTTP
	bool "http server"
	default y

if BR2_PACKAGE_NGINX_HTTP

config BR2_PACKAGE_NGINX_HTTP_CACHE
	bool "http cache support"
	select BR2_PACKAGE_OPENSSL

comment "http modules"

config BR2_PACKAGE_NGINX_HTTP_SSL_MODULE
	bool "ngx_http_ssl_module"
	select BR2_PACKAGE_OPENSSL
	help
	  Enable ngx_http_ssl_module

config BR2_PACKAGE_NGINX_HTTP_V2_MODULE
	bool "ngx_http_v2_module"
	select BR2_PACKAGE_ZLIB
	help
	  Enable ngx_http_spdy_module

config BR2_PACKAGE_NGINX_HTTP_REALIP_MODULE
	bool "ngx_http_realip_module"
	help
	  Enable ngx_http_realip_module

config BR2_PACKAGE_NGINX_HTTP_ADDITION_MODULE
	bool "ngx_http_addition_module"
	help
	  Enable ngx_http_addition_module

config BR2_PACKAGE_NGINX_HTTP_XSLT_MODULE
	bool "ngx_http_xslt_module"
	select BR2_PACKAGE_LIBXML2
	select BR2_PACKAGE_LIBXSLT
	help
	  Enable ngx_http_xslt_module

config BR2_PACKAGE_NGINX_HTTP_IMAGE_FILTER_MODULE
	bool "ngx_http_image_filter_module"
	select BR2_PACKAGE_GD
	select BR2_PACKAGE_JPEG
	select BR2_PACKAGE_LIBPNG
	help
	  Enable ngx_http_image_filter_module

config BR2_PACKAGE_NGINX_HTTP_SUB_MODULE
	bool "ngx_http_sub_module"
	help
	  Enable ngx_http_sub_module

config BR2_PACKAGE_NGINX_HTTP_DAV_MODULE
	bool "ngx_http_dav_module"
	help
	  Enable ngx_http_dav_module

config BR2_PACKAGE_NGINX_HTTP_FLV_MODULE
	bool "ngx_http_flv_module"
	help
	  Enable ngx_http_flv_module

config BR2_PACKAGE_NGINX_HTTP_MP4_MODULE
	bool "ngx_http_mp4_module"
	help
	  Enable ngx_http_mp4_module

config BR2_PACKAGE_NGINX_HTTP_GUNZIP_MODULE
	bool "ngx_http_gunzip_module"
	select BR2_PACKAGE_ZLIB
	help
	  Enable ngx_http_gunzip_module

config BR2_PACKAGE_NGINX_HTTP_GZIP_STATIC_MODULE
	bool "ngx_http_gzip_static_module"
	select BR2_PACKAGE_ZLIB
	help
	  Enable ngx_http_gzip_static_module

config BR2_PACKAGE_NGINX_HTTP_AUTH_REQUEST_MODULE
	bool "ngx_http_auth_request_module"
	help
	  Enable ngx_http_auth_request_module

config BR2_PACKAGE_NGINX_HTTP_RANDOM_INDEX_MODULE
	bool "ngx_http_random_index_module"
	help
	  Enable ngx_http_random_index_module

config BR2_PACKAGE_NGINX_HTTP_SECURE_LINK_MODULE
	bool "ngx_http_secure_link_module"
	select BR2_PACKAGE_OPENSSL
	help
	  Enable ngx_http_secure_link_module

config BR2_PACKAGE_NGINX_HTTP_DEGRADATION_MODULE
	bool "ngx_http_degradation_module"
	help
	  Enable ngx_http_degradation_module

config BR2_PACKAGE_NGINX_HTTP_STUB_STATUS_MODULE
	bool "ngx_http_stub_status_module"
	help
	  Enable ngx_http_stub_status_module

config BR2_PACKAGE_NGINX_HTTP_CHARSET_MODULE
	bool "ngx_http_charset_module"
	default y
	help
	  Enable ngx_http_charset_module

config BR2_PACKAGE_NGINX_HTTP_GZIP_MODULE
	bool "ngx_http_gzip_module"
	default y
	select BR2_PACKAGE_ZLIB
	help
	  Enable ngx_http_gzip_module

config BR2_PACKAGE_NGINX_HTTP_SSI_MODULE
	bool "ngx_http_ssi_module"
	default y
	help
	  Enable ngx_http_ssi_module

config BR2_PACKAGE_NGINX_HTTP_USERID_MODULE
	bool "ngx_http_userid_module"
	default y
	help
	  Enable ngx_http_userid_module

config BR2_PACKAGE_NGINX_HTTP_ACCESS_MODULE
	bool "ngx_http_access_module"
	default y
	help
	  Enable ngx_http_access_module

config BR2_PACKAGE_NGINX_HTTP_AUTH_BASIC_MODULE
	bool "ngx_http_auth_basic_module"
	default y
	help
	  Enable ngx_http_auth_basic_module

config BR2_PACKAGE_NGINX_HTTP_AUTOINDEX_MODULE
	bool "ngx_http_autoindex_module"
	default y
	help
	  Enable ngx_http_autoindex_module

config BR2_PACKAGE_NGINX_HTTP_GEO_MODULE
	bool "ngx_http_geo_module"
	default y
	help
	  Enable ngx_http_geo_module

config BR2_PACKAGE_NGINX_HTTP_MAP_MODULE
	bool "ngx_http_map_module"
	default y
	help
	  Enable ngx_http_map_module

config BR2_PACKAGE_NGINX_HTTP_SPLIT_CLIENTS_MODULE
	bool "ngx_http_split_clients_module"
	default y
	help
	  Enable ngx_http_split_clients_module

config BR2_PACKAGE_NGINX_HTTP_REFERER_MODULE
	bool "ngx_http_referer_module"
	default y
	help
	  Enable ngx_http_referer_module

config BR2_PACKAGE_NGINX_HTTP_REWRITE_MODULE
	bool "ngx_http_rewrite_module"
	default y
	select BR2_PACKAGE_PCRE
	help
	  Enable ngx_http_rewrite_module

config BR2_PACKAGE_NGINX_HTTP_PROXY_MODULE
	bool "ngx_http_proxy_module"
	default y
	help
	  Enable ngx_http_proxy_module

config BR2_PACKAGE_NGINX_HTTP_FASTCGI_MODULE
	bool "ngx_http_fastcgi_module"
	default y
	help
	  Enable ngx_http_fastcgi_module

config BR2_PACKAGE_NGINX_HTTP_UWSGI_MODULE
	bool "ngx_http_uwsgi_module"
	default y
	help
	  Enable ngx_http_uwsgi_module

config BR2_PACKAGE_NGINX_HTTP_SCGI_MODULE
	bool "ngx_http_scgi_module"
	default y
	help
	  Enable ngx_http_scgi_module

config BR2_PACKAGE_NGINX_HTTP_MEMCACHED_MODULE
	bool "ngx_http_memcached_module"
	default y
	help
	  Enable ngx_http_memcached_module

config BR2_PACKAGE_NGINX_HTTP_LIMIT_CONN_MODULE
	bool "ngx_http_limit_conn_module"
	default y
	help
	  Enable ngx_http_limit_conn_module

config BR2_PACKAGE_NGINX_HTTP_LIMIT_REQ_MODULE
	bool "ngx_http_limit_req_module"
	default y
	help
	  Enable ngx_http_limit_req_module

config BR2_PACKAGE_NGINX_HTTP_EMPTY_GIF_MODULE
	bool "ngx_http_empty_gif_module"
	default y
	help
	  Enable ngx_http_empty_gif_module

config BR2_PACKAGE_NGINX_HTTP_BROWSER_MODULE
	bool "ngx_http_browser_module"
	default y
	help
	  Enable ngx_http_browser_module

config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_IP_HASH_MODULE
	bool "ngx_http_upstream_ip_hash_module"
	default y
	help
	  Enable ngx_http_upstream_ip_hash_module

config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_LEAST_CONN_MODULE
	bool "ngx_http_upstream_least_conn_module"
	default y
	help
	  Enable ngx_http_upstream_least_conn_module

config BR2_PACKAGE_NGINX_HTTP_UPSTREAM_KEEPALIVE_MODULE
	bool "ngx_http_upstream_keepalive_module"
	default y
	help
	  Enable ngx_http_upstream_keepalive_module

endif #BR2_PACKAGE_NGINX_HTTP

config BR2_PACKAGE_NGINX_MAIL
	bool "mail proxy modules"

if BR2_PACKAGE_NGINX_MAIL

config BR2_PACKAGE_NGINX_MAIL_SSL_MODULE
	bool "ngx_mail_ssl_module"
	select BR2_PACKAGE_OPENSSL
	help
	  Enable ngx_mail_ssl_module

config BR2_PACKAGE_NGINX_MAIL_POP3_MODULE
	bool "ngx_mail_pop3_module"
	default y
	help
	  Enable ngx_mail_pop3_module

config BR2_PACKAGE_NGINX_MAIL_IMAP_MODULE
	bool "ngx_mail_imap_module"
	default y
	help
	  Enable ngx_mail_imap_module

config BR2_PACKAGE_NGINX_MAIL_SMTP_MODULE
	bool "ngx_mail_smtp_module"
	default y
	help
	  Enable ngx_mail_smtp_module

endif #BR2_PACKAGE_NGINX_MAIL

config BR2_PACKAGE_NGINX_STREAM
	bool "stream proxy modules"

if BR2_PACKAGE_NGINX_STREAM

config BR2_PACKAGE_NGINX_STREAM_SSL_MODULE
	bool "ngx_stream_ssl_module"
	select BR2_PACKAGE_OPENSSL
	help
	  Enable ngx_stream_ssl_module

config BR2_PACKAGE_NGINX_STREAM_LIMIT_CONN_MODULE
	bool "ngx_stream_limit_conn_module"
	default y
	help
	  Enable ngx_stream_limit_conn_module

config BR2_PACKAGE_NGINX_STREAM_ACCESS_MODULE
	bool "ngx_stream_access_module"
	default y
	help
	  Enable ngx_stream_access_module

config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_HASH_MODULE
	bool "ngx_stream_upstream_hash_module"
	default y
	help
	  Enable ngx_stream_upstream_hash_module

config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_LEAST_CONN_MODULE
	bool "ngx_stream_upstream_least_conn_module"
	default y
	help
	  Enable ngx_stream_upstream_least_conn_module

config BR2_PACKAGE_NGINX_STREAM_UPSTREAM_ZONE_MODULE
	bool "ngx_stream_upstream_zone_module"
	default y
	help
	  Enable ngx_stream_upstream_zone_module

endif #BR2_PACKAGE_NGINX_STREAM

config BR2_PACKAGE_NGINX_DEBUG
	bool "debug logging"
	help
	  Enable debug logging. The debug level should be set with
	  the error_log directive. For example

	  error_log /var/log/nginx/error.log debug;

comment "misc. modules"

config BR2_PACKAGE_NGINX_SELECT_MODULE
	bool "ngx_select_module"
	help
	  Enable ngx_select_module

config BR2_PACKAGE_NGINX_POLL_MODULE
	bool "ngx_poll_module"
	help
	  Enable ngx_poll_module

config BR2_PACKAGE_NGINX_ADD_MODULES
	string "additional modules"
	help
	  Space separated list of urls of the additional modules

endif
