config BR2_PACKAGE_BIND
	bool "bind"
	depends on BR2_INET_IPV6
	depends on BR2_LARGEFILE
	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 (host, nslookup, dig, nsupdate)

endif

comment "bind requires a toolchain with LARGEFILE and IPV6 support"
	depends on !(BR2_LARGEFILE || BR2_INET_IPV6)
