config BR2_PACKAGE_CIFS_UTILS
	bool "cifs-utils"
	# uses fork()
	depends on BR2_USE_MMU
	help
	  The in-kernel CIFS filesystem is generally the preferred
	  method for mounting SMB/CIFS shares on Linux. The in-kernel
	  CIFS filesystem relies on a set of user-space tools. That
	  package of tools is called cifs-utils. Although not really
	  part of Samba proper, these tools were originally part of
	  the Samba package. For several reasons, shipping these tools
	  as part of Samba was problematic and it was deemed better to
	  split them off into their own package.

	  http://wiki.samba.org/index.php/LinuxCIFS_utils

if BR2_PACKAGE_CIFS_UTILS

config BR2_PACKAGE_CIFS_UTILS_SMBTOOLS
	bool "smbtools"
	depends on BR2_USE_WCHAR # python3
	depends on BR2_TOOLCHAIN_HAS_THREADS # python3
	depends on !BR2_STATIC_LIBS # python3
	select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON # runtime
	help
	  Install the smb tools smbinfo and smb2-quota (python
	  implementations).

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

endif
