from samba_utils import *
import samba_version, samba3
+# enable building of public headers in the build tree
+bld.env.build_public_headers = 'include/public'
+
+# these are includes which appear in public headers, but with #ifdef conditional
+# compilation, so they are safe
+bld.env.public_headers_skip = ['lib/ldb_compat.h']
+
+# s3 public headers refer to non-public headers
+bld.env.public_headers_allow_broken = True
+
TDB_LIB_SRC = '''
lib/dbwrap.c lib/dbwrap_tdb.c
lib/dbwrap_ctdb.c
lib/util_transfer_file.c
lib/addrchange.c
${TDB_LIB_SRC}
- ../lib/util/debug_s3.c lib/fault.c
+ ../lib/util/debug_s3.c
+ lib/dumpcore.c
lib/interface.c lib/pidfile.c
lib/system.c lib/sendfile.c lib/recvfile.c lib/time.c
lib/username.c
lib/access.c lib/smbrun.c
lib/bitmap.c lib/dprintf.c
lib/wins_srv.c
- lib/clobber.c lib/util_sid.c
+ lib/util_sid.c
lib/util_file.c
lib/util.c lib/util_names.c
lib/util_sock.c lib/sock_exec.c lib/util_sec.c
PASSDB_GET_SET_SRC = '''passdb/pdb_get_set.c'''
PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c
- passdb/util_wellknown.c passdb/util_builtin.c passdb/pdb_compat.c
- passdb/util_unixsids.c passdb/lookup_sid.c
+ lib/util_wellknown.c lib/util_builtin.c passdb/pdb_compat.c
+ lib/util_unixsids.c passdb/lookup_sid.c
passdb/login_cache.c
passdb/account_pol.c ${PRIVILEGES_SRC}
- lib/util_nscd.c lib/winbind_util.c ${SERVER_MUTEX_SRC}'''
+ lib/util_nscd.c lib/winbind_util.c ${SERVER_MUTEX_SRC}
+ passdb/pdb_util.c'''
#FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
GROUPDB_SRC = '''groupdb/mapping.c groupdb/mapping_tdb.c'''
NOTIFY_SRC = '''smbd/notify.c smbd/notify_inotify.c smbd/notify_internal.c'''
-FNAME_UTIL_SRC = '''smbd/filename_util.c'''
+FNAME_UTIL_SRC = '''lib/filename_util.c'''
PLAINTEXT_AUTH_SRC = '''auth/pampass.c auth/pass_check.c'''
smbd/vfs.c smbd/perfcount.c smbd/statcache.c smbd/seal.c
smbd/posix_acls.c lib/sysacls.c
smbd/process.c smbd/service.c smbd/error.c
- printing/printspoolss.c
+ printing/printspoolss.c printing/spoolssd.c
lib/sysquotas.c lib/sysquotas_linux.c
lib/sysquotas_xfs.c lib/sysquotas_4A.c
lib/sysquotas_nfs.c
NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
utils/net_rap.c utils/net_rpc.c utils/net_rpc_samsync.c
utils/net_rpc_join.c utils/net_time.c utils/net_lookup.c
- utils/net_cache.c utils/net_groupmap.c utils/net_idmap.c
+ utils/net_cache.c utils/net_groupmap.c
+ utils/net_idmap.c utils/net_idmap_check.c
utils/net_status.c utils/net_rpc_printer.c utils/net_rpc_rights.c
utils/net_rpc_service.c utils/net_rpc_registry.c utils/net_usershare.c
utils/netlookup.c utils/net_sam.c utils/net_rpc_shell.c
torture/test_async_echo.c
torture/test_addrchange.c
torture/test_posix_append.c
+ torture/test_case_insensitive.c
torture/test_smbsock_any_connect.c'''
SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
t.env.SRCDIR = bld.path.abspath()
t.env.BUILDDIR = bld.path.abspath()
+if not bld.env.toplevel_build:
+ bld.SAMBA_GENERATOR('smbtorture4',
+ source='',
+ target='',
+ rule='cd ../; make -f Makefile-smbtorture4 bin/smbtorture4',
+ always=True)
bld.SETUP_BUILD_GROUPS()
bld.SAMBA3_SUBSYSTEM('TLDAP',
source=TLDAP_SRC,
- deps='ASN1_UTIL LIBTSOCKET')
+ deps='asn1util LIBTSOCKET')
bld.SAMBA3_LIBRARY('passdb',
source=PASSDB_SRC,
bld.SAMBA3_LIBRARY('samba3core',
source=LIB_SRC,
- deps='LIBCRYPTO ndr ndr-util security NDR_SECURITY charset NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 samba-util3 CHARSET3 UTIL_TDB SAMBA_VERSION krb5 flag_mapping util_reg',
+ deps='LIBCRYPTO ndr ndr-util security NDR_SECURITY charset NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 CHARSET3 UTIL_TDB UTIL_PW SAMBA_VERSION krb5 flag_mapping util_reg',
private_library=True,
vars=locals())
bld.SAMBA3_LIBRARY('ads',
source=LIBADS_SRC,
- deps='LIBCLI_LDAP_NDR krb5',
+ deps='LIBCLI_LDAP_NDR krb5 gssapi gssapi_krb5 ldap lber',
private_library=True,
- vars=locals())
+ vars=locals(),
+ enabled=bld.env.HAVE_ADS)
bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
source=LIBADS_SERVER_SRC,
bld.SAMBA3_SUBSYSTEM('PRINTING',
source=PRINTING_SRC,
+ deps='NDR_PRINTCAP',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
vars=locals())
bld.SAMBA3_SUBSYSTEM('CHARSET3',
- source='''lib/util_str.c lib/util_unistr.c lib/charcnv.c''',
+ source='''lib/util_str.c lib/util_unistr.c lib/charcnv.c lib/fstring.c''',
public_deps='ICONV_WRAPPER CODEPOINTS',
deps='DYNCONFIG')
-bld.SAMBA3_SUBSYSTEM('samba-util3',
- source='',
- deps='talloc CHARSET3 samba-util-common')
-
bld.SAMBA3_SUBSYSTEM('ldb3',
source='lib/ldb_compat.c')
bld.SAMBA3_BINARY('smbd/smbd',
source='${SMBD_SRC_MAIN}',
- deps='smbd_base',
+ deps='smbd_base EPMD',
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA3_BINARY('smbspool',
source=CUPS_SRC,
deps='''talloc tdb tevent resolv cap wbclient POPT_SAMBA3 param LIBSMB LIB_NONSMBD samba3core
- KRBCLIENT ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA''',
+ KRBCLIENT asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('testparm',
source=TESTPARM_SRC,
deps='''talloc tevent ldap cap
- wbclient ASN1_UTIL LIBTSOCKET passdb param LIB_NONSMBD
+ wbclient asn1util LIBTSOCKET passdb param LIB_NONSMBD
LIBSMB_ERR POPT_SAMBA3''',
vars=locals())
bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
source=SMBTORTURE_SRC,
deps='''talloc tdb tevent cap resolv wbclient param LIBSMB KRBCLIENT TLDAP
- LIB_NONSMBD POPT_SAMBA3 ASN1_UTIL LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS''',
+ LIB_NONSMBD POPT_SAMBA3 asn1util LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS''',
vars=locals())
bld.SAMBA3_BINARY('smbconftort',
bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
source=MASKTEST_SRC,
deps='''talloc tdb cap resolv wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
- ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA''',
+ asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('msgtest',
bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
source=LOCKTEST_SRC,
deps='''talloc tdb tevent cap resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
- ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
+ asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
vars=locals())
bld.SAMBA3_BINARY('pdbtest',
bld.SAMBA3_BINARY('locktest2',
source=LOCKTEST2_SRC,
deps='''talloc tdb tevent cap resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
- ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
+ asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
vars=locals())
bld.SAMBA3_BINARY('debug2html',
bld.SAMBA3_BINARY('smbfilter',
source=SMBFILTER_SRC,
- deps='''talloc tevent cap resolv wbclient param LIBSMB LIB_NONSMBD KRBCLIENT ASN1_UTIL LIBTSOCKET
+ deps='''talloc tevent cap resolv wbclient param LIBSMB LIB_NONSMBD KRBCLIENT asn1util LIBTSOCKET
NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
source=WBINFO_SRC,
deps='''talloc wbclient tevent cap
- ASN1_UTIL LIBTSOCKET passdb ldap param LIB_NONSMBD
+ asn1util LIBTSOCKET passdb ldap param LIB_NONSMBD
LIBNTLMSSP POPT_SAMBA3 LIBAFS_SETTOKEN''',
vars=locals())
bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
source=NTLM_AUTH_SRC,
deps='''tdb talloc cap resolv krb5 k5crypto com_err wbclient param LIB_NONSMBD
- samba3core LIBNTLMSSP POPT_SAMBA3 ASN1_UTIL LIBTSOCKET
+ samba3core LIBNTLMSSP POPT_SAMBA3 asn1util LIBTSOCKET
passdb SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
NDR_SAMR NDR_LSA NDR_NETLOGON LIBCLI_LDAP_NDR LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
vars=locals())
bld.SAMBA3_BINARY('rpc_open_tcp',
source=RPC_OPEN_TCP_SRC,
deps='''talloc tdb tevent resolv cap wbclient KRBCLIENT param samba3core LIBSMB LIB_NONSMBD
- LIBSMB_ERR ASN1_UTIL LIBTSOCKET LIBMSRPC_GEN msrpc3''',
+ LIBSMB_ERR asn1util LIBTSOCKET LIBMSRPC_GEN msrpc3''',
vars=locals())
bld.SAMBA3_BINARY('test_lp_load',
bld.SAMBA3_SUBSYSTEM('POPT_SAMBA', source='', deps='POPT_SAMBA3')
bld.SAMBA3_SUBSYSTEM('tdb-wrap', source='', deps='tdb-wrap3')
bld.SAMBA3_SUBSYSTEM('errors', source='', deps='errors3')
- bld.SAMBA3_SUBSYSTEM('samba-util', source='', deps='samba-util3')
+ bld.SAMBA3_SUBSYSTEM('samba-util', source='')
bld.SAMBA3_SUBSYSTEM('CHARSET', source='', deps='CHARSET3')
bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='UTIL_TEVENT')