config BR2_PACKAGE_FIREWALLD
	bool "firewalld"
	depends on BR2_USE_MMU # gobject-introspection, python3, python-gobject
	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
	depends on BR2_USE_WCHAR # glib2, dbus-python, nftables, python3
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python, python3
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
	depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
	depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection
	depends on !BR2_STATIC_LIBS # python3
	select BR2_PACKAGE_DBUS # dbus-python
	select BR2_PACKAGE_DBUS_PYTHON
	select BR2_PACKAGE_GOBJECT_INTROSPECTION
	select BR2_PACKAGE_JANSSON # Uses the nftables json interface
	select BR2_PACKAGE_NFTABLES
	select BR2_PACKAGE_NFTABLES_JSON # runtime
	select BR2_PACKAGE_PYTHON3
	select BR2_PACKAGE_PYTHON_GOBJECT
	help
	  Firewalld provides a dynamically managed firewall with
	  support for network or firewall zones to define the trust
	  level of network connections or interfaces. It has support
	  for IPv4, IPv6 firewall settings and for ethernet bridges and
	  a separation of runtime and permanent configuration options.
	  It also provides an interface for services or applications to
	  add ip*tables and ebtables rules directly.

	  Note: Firewalld uses nftables as the backend and requires
	  kernel version >= 5.3.

	  https://github.com/firewalld/firewalld

comment "firewalld needs a glibc toolchain w/ wchar, dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 8"
	depends on BR2_USE_MMU
	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_USES_GLIBC || \
		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
		!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
		!BR2_HOST_GCC_AT_LEAST_8 || BR2_STATIC_LIBS
