config BR2_PACKAGE_WIRESHARK
	bool "wireshark"
	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt -> libgpg-error
	depends on !BR2_STATIC_LIBS
	depends on BR2_USE_MMU # fork(), glib2
	depends on BR2_USE_WCHAR # glib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
	select BR2_PACKAGE_C_ARES
	select BR2_PACKAGE_LIBPCAP
	select BR2_PACKAGE_LIBGCRYPT
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_SPEEXDSP
	help
	  Network traffic sniffer and protocol decoder.

	  https://www.wireshark.org

if BR2_PACKAGE_WIRESHARK

config BR2_PACKAGE_WIRESHARK_GUI
	bool "Qt5 GUI"
	default y
	depends on BR2_INSTALL_LIBSTDCPP # qt5
	depends on BR2_HOST_GCC_AT_LEAST_5 # qt5
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # qt5
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qt5
	depends on !BR2_arc # qt5
	depends on BR2_PACKAGE_HAS_UDEV # qt5 input
	select BR2_PACKAGE_QT5
	select BR2_PACKAGE_QT5BASE_FONTCONFIG # runtime
	select BR2_PACKAGE_QT5BASE_PNG # runtime
	select BR2_PACKAGE_QT5BASE_WIDGETS
	select BR2_PACKAGE_QT5MULTIMEDIA
	select BR2_PACKAGE_QT5SVG
	select BR2_PACKAGE_QT5TOOLS
	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
	help
	  Enable Qt5 GUI

comment "Qt5 GUI needs a udev /dev management and a toolchain w/ C++, NPTL, host gcc >= 5.0, gcc >= 5.0"
	depends on !BR2_arc
	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
		!BR2_HOST_GCC_AT_LEAST_5

endif # BR2_PACKAGE_WIRESHARK

comment "wireshark needs a toolchain w/ wchar, threads, dynamic library"
	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
	depends on BR2_USE_MMU
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
		BR2_STATIC_LIBS
