comment "samba4 needs a uClibc or glibc toolchain w/ wchar, dynamic library, NPTL"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_USE_WCHAR || BR2_TOOLCHAIN_USES_MUSL \
		|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
	depends on BR2_USE_MMU

config BR2_PACKAGE_SAMBA4
	bool "samba4"
	depends on BR2_USE_MMU # fork()
	depends on BR2_USE_WCHAR # python
	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # python -> libffi
	depends on !BR2_STATIC_LIBS # cmocka, python, gnutls
	depends on !BR2_nios2 # binary too large, relocations don't fit
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_TOOLCHAIN_USES_MUSL
	select BR2_PACKAGE_CMOCKA
	select BR2_PACKAGE_E2FSPROGS
	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
	select BR2_PACKAGE_POPT
	select BR2_PACKAGE_PYTHON3 if !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
	select BR2_PACKAGE_JANSSON
	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
