config BR2_PACKAGE_NTP
	bool "ntp"
	select BR2_PACKAGE_LIBEVENT
	select BR2_PACKAGE_OPENSSL
	help
	  Network Time Protocol suite/programs.
	  Provides things like ntpd, ntpdate, ntpq, etc...

	  http://www.ntp.org/

if BR2_PACKAGE_NTP

config BR2_PACKAGE_NTP_SNTP
	bool "sntp"
	help
	  Simple network time protocol program

config BR2_PACKAGE_NTP_NTP_KEYGEN
	bool "ntp-keygen"
	help
	  Create a NTP host key

config BR2_PACKAGE_NTP_NTP_SHM_CLK
	bool "SHM clock support"
	help
	  Compile ntp with support for a SHM clock attached through
	  shared memory.

config BR2_PACKAGE_NTP_NTP_WAIT
	bool "ntp-wait"
	depends on BR2_PACKAGE_PERL
	help
	  ntp-wait waits until the locally running ntpd is in state 4
	  (synchronized). This could be useful at boot time, to delay the
	  boot sequence until after "ntpd -g" has set the time.

config BR2_PACKAGE_NTP_NTPD
	bool "ntpd"
	default y
	help
	  ntpd is the time synchronization daemon keeping your local
	  system date and time in sync and optionally serving time and date
	  information on the network via the NTP protocol.

config BR2_PACKAGE_NTP_NTPD_ATOM_PPS
	bool "PPS support"
	depends on BR2_PACKAGE_NTP_NTPD
	select BR2_PACKAGE_PPS_TOOLS
	help
	  Compile ntpd with the ability to use an ATOM PPS source.

config BR2_PACKAGE_NTP_NTPDATE
	bool "ntpdate"
	help
	  The ntpdate utility program is used to set the local date and time
	  from an NTP server given as an argument.

config BR2_PACKAGE_NTP_NTPDC
	bool "ntpdc"
	help
	  The ntpdc utility program is used to query an NTP daemon about
	  its current state and to request changes in that state.

config BR2_PACKAGE_NTP_NTPQ
	bool "ntpq"
	help
	  The ntpq utility program is used to query NTP servers requesting
	  information about current state and/or changes in that state.

config BR2_PACKAGE_NTP_NTPSNMPD
	bool "ntpsnmpd"
	depends on BR2_USE_MMU # netsnmp fork()
	select BR2_PACKAGE_NETSNMP
	help
	  Install ntpsnmpd NTP SNMP MIB agent.

config BR2_PACKAGE_NTP_NTPTIME
	bool "ntptime"
	help
	  The ntptime utility program is used to read and set kernel time
	  variables.

config BR2_PACKAGE_NTP_NTPTRACE
	bool "ntptrace"
	depends on BR2_PACKAGE_PERL
	help
	  ntptrace is a perl script that uses the ntpq utility program to
	  follow the chain of NTP servers from a given host back to the
	  primary time source

config BR2_PACKAGE_NTP_TICKADJ
	bool "tickadj"
	help
	  set time-related kernel variables

endif
