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

	  https://www.wireshark.org

if BR2_PACKAGE_WIRESHARK

config BR2_PACKAGE_WIRESHARK_QT
	bool
	default y
	depends on BR2_PACKAGE_QT5BASE_WIDGETS
	depends on BR2_PACKAGE_QT5TOOLS
	select BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS

config BR2_PACKAGE_WIRESHARK_GUI
	bool
	default y if BR2_PACKAGE_LIBGTK2
	default y if BR2_PACKAGE_LIBGTK3
	default y if BR2_PACKAGE_WIRESHARK_QT

endif # BR2_PACKAGE_WIRESHARK

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