comment "samba4 needs a toolchain w/ RPC, wchar, dynamic library, threads"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_NATIVE_RPC \
		|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_USE_MMU

config BR2_PACKAGE_SAMBA4
	bool "samba4"
	depends on !BR2_PACKAGE_SAMBA
	depends on BR2_USE_MMU # fork()
	depends on BR2_USE_WCHAR # e2fsprogs
	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
	depends on BR2_TOOLCHAIN_HAS_THREADS # python -> libffi
	depends on !BR2_STATIC_LIBS # python
	depends on !BR2_nios2 # binary too large, relocations don't fit
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	select BR2_PACKAGE_E2FSPROGS
	select BR2_PACKAGE_POPT
	select BR2_PACKAGE_PYTHON
	select BR2_PACKAGE_ZLIB
	help
	  Provides secure, stable and fast file and print services
	  for all clients using the SMB/CIFS protocol, such as all
	  versions of DOS, Windows, OS/2, Linux and many others.

	  http://www.samba.org/

if BR2_PACKAGE_SAMBA4

config BR2_PACKAGE_SAMBA4_AD_DC
	bool "AD DC"
	select BR2_PACKAGE_GNUTLS
	help
	  Enable Active Directory Domain Controller functionality.

config BR2_PACKAGE_SAMBA4_ADS
	bool "ADS"
	select BR2_PACKAGE_OPENLDAP
	help
	  Enable Active Directory member Server functionality.

config BR2_PACKAGE_SAMBA4_SMBTORTURE
	bool "smbtorture"
	help
	  Install the smbtorture test suite.
	  It's normally used for validation and stress testing.
	  Approximately +5 MB of stripped uncompressed target space.

endif
