comment "policycoreutils needs a glibc toolchain w/ threads, dynamic library"
	depends on !BR2_arc
	depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS
	depends on !BR2_TOOLCHAIN_USES_GLIBC || \
		!BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

config BR2_PACKAGE_POLICYCOREUTILS
	bool "policycoreutils"
	depends on BR2_PACKAGE_AUDIT_ARCH_SUPPORTS # libsemanage
	depends on BR2_TOOLCHAIN_HAS_THREADS # libsemanage
	depends on !BR2_STATIC_LIBS #libsemanage
	depends on !BR2_arc # libsemanage
	depends on BR2_TOOLCHAIN_USES_GLIBC # libsemanage
	select BR2_PACKAGE_LIBSEMANAGE
	select BR2_PACKAGE_LIBCAP_NG
	help
	  Policycoreutils is a collection of policy utilities
	  (originally the "core" set of utilities needed to use
	  SELinux, although it has grown a bit over time), which have
	  different dependencies.  sestatus, secon, run_init, and
	  newrole only use libselinux.  load_policy and setfiles only
	  use libselinux and libsepol.  semodule and semanage use
	  libsemanage (and thus bring in dependencies on libsepol and
	  libselinux as well). setsebool uses libselinux to make
	  non-persistent boolean changes (via the kernel interface)
	  and uses libsemanage to make persistent boolean changes.

	  The base package will install the following utilities:
	      load_policy
	      newrole
	      run_init
	      secon
	      semodule
	      sestatus
	      setfiles
	      setsebool

	  http://selinuxproject.org/page/Main_Page
