comment "exim needs a toolchain w/ threads"
	depends on !BR2_TOOLCHAIN_HAS_THREADS

config BR2_PACKAGE_EXIM
	bool "exim"
	depends on BR2_USE_MMU # fork()
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_PCRE2
	select BR2_PACKAGE_BERKELEYDB
	select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
	help
	  Exim is a message transfer agent (MTA) developed at the
	  University of Cambridge for use on Unix systems connected to
	  the Internet.

	  http://www.exim.org/

if BR2_PACKAGE_EXIM

config BR2_PACKAGE_EXIM_CUSTOM_CONFIG_FILE
	string "Custom configuration file"
	help
	  By default, when this option is left empty, Buildroot
	  generates a configuration file for exim with reasonable
	  settings.

	  If you want to override the configuration file generated by
	  Buildroot with a customized file, set here the path to your
	  configuration file with this option.

	  This file shall comply with the syntax defined in the exim
	  documentation (http://www.exim.org/docs.html).
	  Buildroot will generate a configuration file composed of the
	  content of the file you provide plus the toolchain-related
	  settings needed for cross-compilation.

endif
