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_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
