config BR2_PACKAGE_SNORT3
	bool "snort3"
	depends on !BR2_PACKAGE_LUA # luajit
	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS # luajit
	depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT)
	depends on BR2_USE_MMU # fork()
	depends on BR2_INSTALL_LIBSTDCPP
	depends on !BR2_STATIC_LIBS # daq3
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
	depends on BR2_TOOLCHAIN_HAS_THREADS # daq3, hwloc
	depends on BR2_USE_WCHAR
	select BR2_PACKAGE_DAQ3
	select BR2_PACKAGE_FLEX
	select BR2_PACKAGE_HWLOC
	select BR2_PACKAGE_LIBDNET
	select BR2_PACKAGE_LIBPCAP
	select BR2_PACKAGE_LUAJIT
	select BR2_PACKAGE_PCRE
	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_ZLIB
	help
	  Snort 3 is the next generation Snort IPS (Intrusion
	  Prevention System).

	  - Support multiple packet processing threads
	  - Shared configuration and attribute table
	  - Use a simple, scriptable configuration
	  - Make key components pluggable
	  - Autodetect services for portless configuration
	  - Support sticky buffers in rules
	  - Autogenerate reference documentation
	  - Provide better cross platform support

	  https://www.snort.org/snort3

comment "snort3 needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.9"
	depends on !BR2_PACKAGE_LUA
	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
	depends on !(BR2_PACKAGE_DAQ || BR2_PACKAGE_SNORT)
	depends on BR2_USE_MMU
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
