config BR2_PACKAGE_FRR
	bool "frr"
	depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf-c
	depends on !BR2_STATIC_LIBS # libyang
	depends on BR2_USE_MMU # fork()
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c, libyang
	depends on BR2_INSTALL_LIBSTDCPP # protobuf-c
	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
	select BR2_PACKAGE_BASH
	select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # bash
	select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
	select BR2_PACKAGE_LIBYANG
	select BR2_PACKAGE_READLINE
	select BR2_PACKAGE_JSON_C
	select BR2_PACKAGE_PROTOBUF_C
	help
	  The FRRouting Protocol Suite.

	  FRR is free software that implements and manages various
	  IPv4 and IPv6 routing protocols.

	  https://frrouting.org

if BR2_PACKAGE_FRR

config BR2_PACKAGE_FRR_BFD
	bool "BFD protocol"
	default y
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10
	help
	  Build Bidirectional Forwarding Detection daemon.

config BR2_PACKAGE_FRR_BMP
	bool "BMP protocol"
	select BR2_PACKAGE_C_ARES
	help
	  Build BGP Monitoring Protocol daemon.

config BR2_PACKAGE_FRR_NHRPD
	bool "NHRPD protocol"
	select BR2_PACKAGE_C_ARES
	help
	  Build Next Hop Routing Protocol daemon.

endif

comment "frr needs a toolchain w/ threads, dynamic library, C++, host gcc >= 7"
	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on BR2_USE_MMU
	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
		!BR2_INSTALL_LIBSTDCPP || !BR2_HOST_GCC_AT_LEAST_7
