1config BR2_PACKAGE_USBGUARD
2	bool "usbguard"
3	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # protobuf
4	depends on BR2_INSTALL_LIBSTDCPP # protobuf
5	depends on BR2_TOOLCHAIN_HAS_THREADS # libqb, protobuf
6	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
7	depends on !BR2_STATIC_LIBS # libqb, protobuf
8	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::future
9	select BR2_PACKAGE_PROTOBUF
10	select BR2_PACKAGE_LIBQB
11	select BR2_PACKAGE_LIBSODIUM if !BR2_PACKAGE_LIBGCRYPT && !BR2_PACKAGE_LIBOPENSSL
12	help
13	  The USBGuard software framework
14
15	  Install a custom accept/deny list in /etc/usbguard/rules.conf
16	  (e.g. using an overlay). This file can be generated on the
17	  target using "usbguard generate-policy".
18
19	  https://usbguard.github.io/
20
21comment "usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8"
22	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
23		|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
24	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
25
26comment "usbguard needs a toolchain not affected by GCC bug 64735"
27	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
28	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
29