config BR2_PACKAGE_APACHE
	bool "apache"
	depends on !BR2_STATIC_LIBS
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # apr
	select BR2_PACKAGE_APR_UTIL
	select BR2_PACKAGE_PCRE2
	help
	  The Apache HTTP Server Project is an effort to develop and
	  maintain an open-source HTTP server for modern operating
	  systems including UNIX and Windows NT. The goal of this
	  project is to provide a secure, efficient and extensible
	  server that provides HTTP services in sync with the current
	  HTTP standards.

	  https://httpd.apache.org

if BR2_PACKAGE_APACHE

choice
	prompt "Multi-Processing Module (MPM)"
	default BR2_PACKAGE_APACHE_MPM_WORKER
	help
	  Select the Multi-Processing Module (MPM).

config BR2_PACKAGE_APACHE_MPM_EVENT
	bool "event"
	help
	  A variant of the worker MPM with the goal of consuming threads
	  only for connections with active processing

config BR2_PACKAGE_APACHE_MPM_PREFORK
	bool "prefork"
	help
	  Implements a non-threaded, pre-forking web server

config BR2_PACKAGE_APACHE_MPM_WORKER
	bool "worker"
	help
	  Implements a hybrid multi-threaded multi-process web server

endchoice

endif

comment "apache needs a toolchain w/ dynamic library, threads"
	depends on BR2_USE_MMU
	depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
