config BR2_PACKAGE_BIND
	bool "bind"
	depends on BR2_INET_IPV6
	depends on BR2_LARGEFILE
	depends on BR2_USE_MMU # fork()
	depends on !BR2_STATIC_LIBS
	help
	  BIND (Berkeley Internet Name Domain) is an implementation of
	  the Domain Name System (DNS) protocols and provides an openly
	  redistributable reference implementation of the major
	  components of the Domain Name System, including:

	    * a Domain Name System server (named)
	    * a Domain Name System resolver library
	    * tools for verifying the proper operation of the DNS server

	  The BIND DNS Server is used on the vast majority of name
	  serving machines on the Internet, providing a robust and
	  stable architecture on top of which an organization's naming
	  architecture can be built. The resolver library included in
	  the BIND distribution provides the standard APIs for
	  translation between domain names and Internet addresses and is
	  intended to be linked with applications requiring name service.

	  http://www.isc.org/sw/bind/

if BR2_PACKAGE_BIND

config BR2_PACKAGE_BIND_SERVER
	bool "Install server components"
	default y
	help
	  Install server components (named, lwresd)

config BR2_PACKAGE_BIND_TOOLS
	bool "Install tools"
	help
	  Install tools (dig, host, nslookup, nsupdate)

endif

comment "bind needs a toolchain w/ largefile, IPv6, dynamic library"
	depends on BR2_USE_MMU
	depends on !BR2_LARGEFILE || !BR2_INET_IPV6 || BR2_STATIC_LIBS
