comment "kismet needs a toolchain w/ threads, C++, gcc >= 5, host gcc >= 7"
	depends on BR2_USE_MMU
	depends on !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
		!BR2_HOST_GCC_AT_LEAST_7
	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS

config BR2_PACKAGE_KISMET
	bool "kismet"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU # fork()
	depends on BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS # protobuf-c
	depends on BR2_HOST_GCC_AT_LEAST_7 # protobuf-c
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
	select BR2_PACKAGE_LIBPCAP
	select BR2_PACKAGE_PROTOBUF_C
	select BR2_PACKAGE_SQLITE
	select BR2_PACKAGE_ZLIB
	help
	  Kismet is a wireless network and device detector, sniffer,
	  wardriving tool, and WIDS (wireless intrusion detection)
	  framework.

	  Kismet works with Wi-Fi interfaces, Bluetooth interfaces, some
	  SDR (software defined radio) hardware like the RTLSDR, and
	  other specialized capture hardware.

	  http://www.kismetwireless.net

if BR2_PACKAGE_KISMET

config BR2_PACKAGE_KISMET_PYTHON_TOOLS
	bool "Install python tools"
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS # python-numpy
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
	depends on BR2_PACKAGE_PYTHON3
	depends on !BR2_STATIC_LIBS # protobuf
	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # python-numpy
	select BR2_PACKAGE_PROTOBUF
	select BR2_PACKAGE_PYTHON_NUMPY # runtime for RTLAMR and RTLADSB
	select BR2_PACKAGE_PYTHON_PROTOBUF # runtime
	select BR2_PACKAGE_PYTHON_SERIAL # runtime for Freaklabs Zigbee
	help
	  Enable Python and Python-related tools (RTL_433, RTLAMR,
	  RTLADSB and Freaklabs Zigbee)

comment "python tools needs python3"
	depends on !BR2_PACKAGE_PYTHON3
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS

comment "python tools needs a glibc or musl toolchain w/ dynamic library, gcc >= 8"
	depends on BR2_STATIC_LIBS
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
	depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL) || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_8

config BR2_PACKAGE_KISMET_SERVER
	bool "Install server"
	default y
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # protobuf
	depends on !BR2_STATIC_LIBS # dlfcn.h
	depends on BR2_USE_WCHAR
	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_PROTOBUF

comment "server needs a toolchain w/ dynamic library, wchar, gcc >= 8"
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
	depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_8

comment "server needs a toolchain not affected by GCC bug 64735"
	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735

endif
