s3-waf: make use of LIBCLI_CLDAP subsystem
[samba.git] / source3 / wscript_build
index de774de00aa6914957254cdb5bae6efb5838c14d..73cc20d576fb2fd7b6dd09ba209bdf0828b12f9a 100644 (file)
@@ -168,10 +168,6 @@ LIBSMB_SRC0 = '''
 
 LIBSAMBA_SRC = '${LIBSMB_SRC0}'
 
-CLDAP_SRC = '''libads/cldap.c
-        ../libcli/cldap/cldap.c
-        ../lib/util/idtree.c'''
-
 TLDAP_SRC = '''lib/tldap.c lib/tldap_util.c lib/util_tsock.c'''
 
 SCHANNEL_SRC = '''../libcli/auth/schannel_sign.c'''
@@ -700,8 +696,8 @@ if not bld.env.toplevel_build:
 bld.SAMBA3_LIBRARY('netapi',
                     source=LIBNETAPI_SRC,
                     public_deps='''talloc tdb cap wbclient LIB_NONSMBD LIBSMB KRBCLIENT
-                    PASSDB SMBLDAP GROUPDB PARAM_WITHOUT_REG DYNCONFIG
-                    LIBMSRPC_GEN LIBMSRPC LIBADS LIBNET DCUTIL NDR_LIBNETAPI
+                    passdb SMBLDAP GROUPDB PARAM_WITHOUT_REG DYNCONFIG
+                    LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
                     RPC_CLIENT_SCHANNEL LIB_SMBCONF REG_SMBCONF TOKEN_UTIL
                     LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON
                     RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_INITSHUTDOWN
@@ -712,8 +708,8 @@ bld.SAMBA3_LIBRARY('netapi',
 
 bld.SAMBA3_LIBRARY('libsmb/smbclient',
                     source=LIBSMBCLIENT_SRC,
-                    public_deps='''talloc tdb wbclient cap PARAM LIB_NONSMBD LIBSMB KRBCLIENT PASSDB SMBLDAP GROUPDB
-                    LIBMSRPC_GEN LIBMSRPC LIBCLI_LSA3 RPC_NDR_SRVSVC''',
+                    public_deps='''talloc tdb wbclient cap param LIB_NONSMBD LIBSMB KRBCLIENT passdb SMBLDAP GROUPDB
+                    LIBMSRPC_GEN msrpc3 LIBCLI_LSA3 RPC_NDR_SRVSVC''',
                     public_headers='include/libsmbclient.h',
                     vnum='0',
                     vars=locals())
@@ -727,12 +723,12 @@ bld.SAMBA3_LIBRARY('smbsharemodes',
 
 bld.SAMBA3_LIBRARY('nss_wins',
                   source=WINBIND_WINS_NSS_SRC,
-                  deps='''winbind-client PARAM LIBSMB LIB_NONSMBD LIBTSOCKET KRBCLIENT
+                  deps='''winbind-client param LIBSMB LIB_NONSMBD LIBTSOCKET KRBCLIENT
                   cap wbclient''',
                   realname='libnss_wins.so.2',
                   vnum='2')
 
-bld.SAMBA3_SUBSYSTEM('LIBMSRPC',
+bld.SAMBA3_SUBSYSTEM('msrpc3',
                     source='${LIBMSRPC_SRC}',
                     deps='''ndr ndr-util NDR_SECURITY NDR_DCERPC NDR_SCHANNEL
                     RPC_NDR_EPMAPPER COMMON_SCHANNELDB LIBCLI_AUTH
@@ -761,10 +757,11 @@ bld.SAMBA3_SUBSYSTEM('TLDAP',
                     source=TLDAP_SRC,
                     deps='ASN1_UTIL LIBTSOCKET')
 
-bld.SAMBA3_SUBSYSTEM('PASSDB',
-                    source=PASSDB_SRC,
-                    deps='''GROUPDB SECRETS3 SMBLDAP pdb''',
-                    vars=locals())
+bld.SAMBA3_LIBRARY('passdb',
+                   source=PASSDB_SRC,
+                   deps='GROUPDB SECRETS3 SMBLDAP pdb wbclient',
+                   private_library=True,
+                   vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
                     source=PARAM_UTIL_SRC)
@@ -774,10 +771,11 @@ bld.SAMBA3_SUBSYSTEM('PARAM_WITHOUT_REG',
                     deps='''PARAM_UTIL''',
                     vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('PARAM',
-                    source='',
-                    deps='PARAM_WITHOUT_REG DYNCONFIG LIB_SMBCONF',
-                    vars=locals())
+bld.SAMBA3_LIBRARY('param',
+                   source='',
+                   deps='PARAM_WITHOUT_REG DYNCONFIG LIB_SMBCONF',
+                   private_library=True,
+                   vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('REGFIO',
                     source=REGFIO_SRC,
@@ -811,14 +809,15 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
                     deps='krb5 k5crypto com_err gssapi gssapi_krb5',
                     vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('LIBS',
-                    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',
-                    vars=locals())
+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',
+                   private_library=True,
+                   vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIB_NONSMBD',
                     source=LIB_NONSMBD_SRC,
-                    deps='LIBS',
+                    deps='samba3core',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
@@ -842,8 +841,8 @@ bld.SAMBA3_SUBSYSTEM('LIBDRSUAPI',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('CLDAP',
-                    source=CLDAP_SRC,
-                    deps='LIBCLI_LDAP_MESSAGE LIBCLI_LDAP_NDR LIBTSOCKET',
+                    source='libads/cldap.c',
+                    deps='LIBCLI_LDAP_MESSAGE LIBCLI_LDAP_NDR LIBCLI_CLDAP LIBTSOCKET',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('SECRETS3',
@@ -857,10 +856,11 @@ bld.SAMBA3_SUBSYSTEM('SMBLDAP',
                     vars=locals(),
                     enabled=bld.env.HAVE_LDAP)
 
-bld.SAMBA3_SUBSYSTEM('LIBADS',
-                    source=LIBADS_SRC,
-                    deps='LIBCLI_LDAP_NDR krb5',
-                   vars=locals())
+bld.SAMBA3_LIBRARY('ads',
+                   source=LIBADS_SRC,
+                   deps='LIBCLI_LDAP_NDR krb5',
+                   private_library=True,
+                   vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
                     source=LIBADS_SERVER_SRC,
@@ -884,12 +884,12 @@ bld.SAMBA3_SUBSYSTEM('LIB_SMBCONF',
                     deps='LIBSMBCONF REG_BASE REG_SMBCONF',
                     vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('SMBD_BASE',
+bld.SAMBA3_LIBRARY('smbd_base',
                     source=SMBD_SRC_BASE,
                     deps='''tdb tevent dl krb5 ldap gssapi gssapi_krb5
-                    DYNCONFIG wbclient crypt nsl cups cap resolv z PASSDB
-                    PARAM_WITHOUT_REG LIBS LIBSMB POPT_SAMBA3 KRBCLIENT AVAHI
-                    LIBMSRPC_GEN LIBMSRPC LIBADS LIBADS_SERVER LIBADS_PRINTER
+                    DYNCONFIG wbclient crypt nsl cups cap resolv z passdb
+                    PARAM_WITHOUT_REG samba3core LIBSMB POPT_SAMBA3 KRBCLIENT AVAHI
+                    LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER LIBADS_PRINTER
                     vfs vfs_default vfs_posixacl auth rpc LOCKING LIBAFS LIBAFS_SETTOKEN PROFILE
                     PRINTING PRINTBACKEND NDR_XATTR NDR_NOTIFY3 REGFIO
                     LIB_SMBCONF REG_FULL FNAME_UTIL
@@ -897,6 +897,7 @@ bld.SAMBA3_SUBSYSTEM('SMBD_BASE',
                     RPC_NDR_SRVSVC NAMED_PIPE_AUTH_TSTREAM INIT_NETLOGON INIT_SAMR
                     LIBCLI_SMB_COMMON RPC_SERVER
                     ''',
+                    private_library=True,
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LOCKING',
@@ -1006,10 +1007,7 @@ bld.SAMBA3_SUBSYSTEM('samba-util3',
                     deps='talloc CHARSET3 LIBCRYPTO',
                     vars=locals())
 
-#FIXME
-bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='UTIL_TEVENT')
-
-bld.SAMBA3_SUBSYSTEM('ldb',
+bld.SAMBA3_SUBSYSTEM('ldb3',
                     source='lib/ldb_compat.c')
 
 bld.SAMBA3_SUBSYSTEM('errors3',
@@ -1052,14 +1050,14 @@ bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
 
 bld.SAMBA3_BINARY('smbd/smbd',
                  source='${SMBD_SRC_MAIN}',
-                 deps='''SMBD_BASE''',
+                 deps='smbd_base',
                  install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA3_BINARY('nmbd/nmbd',
                  source=NMBD_SRC,
                  deps='''talloc tdb tevent z cap resolv wbclient dl
-                 PASSDB PARAM ldap LIB_NONSMBD LIBSMB
+                 passdb param ldap LIB_NONSMBD LIBSMB
                  POPT_SAMBA3 KRBCLIENT NDR_SAMR NDR_LSA''',
                  install_path='${SBINDIR}',
                  vars=locals())
@@ -1067,8 +1065,8 @@ bld.SAMBA3_BINARY('nmbd/nmbd',
 bld.SAMBA3_BINARY('winbindd/winbindd',
                  source=WINBINDD_SRC,
                  deps='''talloc tdb tevent cap dl z
-                 wbclient PASSDB ldap resolv PARAM LIB_NONSMBD LIBSMB
-                 POPT_SAMBA3 KRBCLIENT LIBMSRPC_GEN LIBMSRPC LIBADS LIBADS_SERVER
+                 wbclient passdb ldap resolv param LIB_NONSMBD LIBSMB
+                 POPT_SAMBA3 KRBCLIENT LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER
                  SRV_NDR_WBINT RPC_NDR_WBINT LIBAFS
                  LIBAFS_SETTOKEN PROFILE SLCACHE DCUTIL idmap nss_info
                  TOKEN_UTIL
@@ -1083,9 +1081,9 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
 
 bld.SAMBA3_BINARY('web/swat',
                  source=SWAT_SRC,
-                 deps='''talloc tevent cap LIBS LIBSMB wbclient PARAM
-                 LIB_NONSMBD resolv PASSDB POPT_SAMBA3 KRBCLIENT cups
-                 LIBMSRPC_GEN LIBMSRPC LOCKING PLAINTEXT_AUTH PRINTBASE PRINTING FNAME_UTIL
+                 deps='''talloc tevent cap samba3core LIBSMB wbclient param
+                 LIB_NONSMBD resolv passdb POPT_SAMBA3 KRBCLIENT cups
+                 LIBMSRPC_GEN msrpc3 LOCKING PLAINTEXT_AUTH PRINTBASE PRINTING FNAME_UTIL
                  LIBCLI_SAMR INIT_LSA PASSCHANGE''',
                  enabled=bld.env.build_swat,
                  install_path='${SBINDIR}',
@@ -1093,9 +1091,9 @@ bld.SAMBA3_BINARY('web/swat',
 
 bld.SAMBA3_BINARY('rpcclient/rpcclient',
                  source=RPCCLIENT_SRC,
-                 deps='''talloc tdb cap resolv POPT_SAMBA3 PASSDB LIBSMB LIB_NONSMBD
-                 PARAM_WITHOUT_REG wbclient PARAM KRBCLIENT LIBMSRPC_GEN LIBMSRPC
-                 LIBADS SMBREADLINE DCUTIL RPC_NDR_WINREG RPC_NDR_ECHO
+                 deps='''talloc tdb cap resolv POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
+                 PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3
+                 ads SMBREADLINE DCUTIL RPC_NDR_WINREG RPC_NDR_ECHO
                  RPC_CLIENT_SCHANNEL
                  LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
                  RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_DSSETUP RPC_NDR_DFS
@@ -1104,17 +1102,17 @@ bld.SAMBA3_BINARY('rpcclient/rpcclient',
                  ''',
                  vars=locals())
 
-bld.SAMBA3_BINARY('client/smbclient',
+bld.SAMBA3_BINARY('client/smbclient' + bld.env.suffix3,
                  source=CLIENT_SRC,
-                 deps='''talloc tdb cap resolv POPT_SAMBA3 PASSDB LIBSMB LIB_NONSMBD
-                 PARAM_WITHOUT_REG wbclient PARAM KRBCLIENT LIBMSRPC_GEN
-                 LIBMSRPC SMBREADLINE libsmb/smbclient RPC_NDR_SRVSVC INIT_LSA''',
+                 deps='''talloc tdb cap resolv POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
+                 PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN
+                 msrpc3 SMBREADLINE libsmb/smbclient RPC_NDR_SRVSVC INIT_LSA''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('net',
                  source=NET_SRC,
-                 deps='''talloc tdb netapi addns cap resolv intl POPT_SAMBA3 PASSDB LIBSMB LIB_NONSMBD
-                 PARAM_WITHOUT_REG wbclient PARAM KRBCLIENT LIBMSRPC_GEN LIBMSRPC LIBGPO LIBADS LIBADS_SERVER LIBADS_PRINTER
+                 deps='''talloc tdb netapi addns cap resolv intl POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
+                 PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 LIBGPO ads LIBADS_SERVER LIBADS_PRINTER
                  LOCALE_DIR LIBAFS LIBAFS_SETTOKEN SMBREADLINE PASSWD_UTIL LIBNET
                  LIBNET_DSSYNC LIBNET_SAMSYNC LIBEVENTLOG DCUTIL
                  REGFIO NDR_NTPRINTING RPC_NDR_WINREG
@@ -1127,57 +1125,57 @@ bld.SAMBA3_BINARY('net',
 
 bld.SAMBA3_BINARY('profiles',
                  source=PROFILES_SRC,
-                 deps='''talloc tdb cap tevent POPT_SAMBA3 PARAM LIBS LIBSMB_ERR LIB_NONSMBD REGFIO''',
+                 deps='''talloc tdb cap tevent POPT_SAMBA3 param samba3core LIBSMB_ERR LIB_NONSMBD REGFIO''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbspool',
                  source=CUPS_SRC,
-                 deps='''talloc tdb tevent resolv cap wbclient POPT_SAMBA3 PARAM LIBSMB LIB_NONSMBD LIBS
+                 deps='''talloc tdb tevent resolv cap wbclient POPT_SAMBA3 param LIBSMB LIB_NONSMBD samba3core
                  KRBCLIENT ASN1_UTIL 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 ASN1_UTIL LIBTSOCKET passdb param LIB_NONSMBD
                  LIBSMB_ERR POPT_SAMBA3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbta-util',
                  source=SMBTA_UTIL_SRC,
-                 deps='''talloc tdb tevent cap PARAM POPT_SAMBA3 LIB_NONSMBD
+                 deps='''talloc tdb tevent cap param POPT_SAMBA3 LIB_NONSMBD
                  LIBSMB_ERR''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbstatus',
                  source=STATUS_SRC,
-                 deps='''talloc tdb tevent cap PARAM POPT_SAMBA3 LIB_NONSMBD
+                 deps='''talloc tdb tevent cap param POPT_SAMBA3 LIB_NONSMBD
                  LIBSMB_ERR LOCKING PROFILE FNAME_UTIL''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcontrol',
                  source=SMBCONTROL_SRC,
-                 deps='''talloc tdb tevent cap PARAM LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3 PRINTBASE''',
+                 deps='''talloc tdb tevent cap param LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3 PRINTBASE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbtree',
                  source=SMBTREE_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM LIB_NONSMBD
-                 LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT PASSDB SMBLDAP GROUPDB LIBMSRPC_GEN LIBMSRPC PROFILE
+                 deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD
+                 LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT passdb SMBLDAP GROUPDB LIBMSRPC_GEN msrpc3 PROFILE
                  RPC_NDR_SRVSVC''',
                  vars=locals())
 
-bld.SAMBA3_BINARY('smbpasswd' + bld.env.suffix3,
+bld.SAMBA3_BINARY('smbpasswd',
                  source=SMBPASSWD_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM LIB_NONSMBD
-                 LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT PASSDB SMBLDAP GROUPDB LIBMSRPC_GEN LIBMSRPC PASSWD_UTIL
+                 deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD
+                 LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT passdb SMBLDAP GROUPDB LIBMSRPC_GEN msrpc3 PASSWD_UTIL
                  LIBCLI_SAMR INIT_LSA PASSCHANGE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('pdbedit',
                  source=PDBEDIT_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM LIB_NONSMBD
-                 LIBSAMBA LIBSMB_ERR POPT_SAMBA3 PASSDB SMBLDAP GROUPDB
+                 deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD
+                 LIBSAMBA LIBSMB_ERR POPT_SAMBA3 passdb SMBLDAP GROUPDB
                  PASSWD_UTIL LIBCLI_LDAP_NDR''',
                  vars=locals())
 
@@ -1188,76 +1186,81 @@ bld.SAMBA3_BINARY('smbget',
 
 bld.SAMBA3_BINARY('nmblookup' + bld.env.suffix3,
                  source=NMBLOOKUP_SRC,
-                 deps='''talloc tdb tevent cap resolv PARAM LIB_NONSMBD POPT_SAMBA3 LIBSMB_ERR LIBNMB''',
+                 deps='''talloc tdb tevent cap resolv param LIB_NONSMBD POPT_SAMBA3 LIBSMB_ERR LIBNMB''',
                  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 LIBMSRPC LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS''',
+                 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''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbconftort',
                  source=SMBCONFTORT_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
+                 deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
                  vars=locals())
 
+bld.SAMBA3_BINARY('replacetort',
+                 source='../lib/replace/test/main.c',
+                 deps='replace replace-test',
+                 install=False)
+
 bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
                  source=MASKTEST_SRC,
-                 deps='''talloc tdb cap resolv wbclient PARAM LIB_NONSMBD LIBSMB KRBCLIENT
+                 deps='''talloc tdb cap resolv wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
                  ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('msgtest',
                  source=MSGTEST_SRC,
-                 deps='''talloc tdb tevent cap resolv PARAM LIBSMB_ERR LIB_NONSMBD''',
+                 deps='''talloc tdb tevent cap resolv param LIBSMB_ERR LIB_NONSMBD''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcacls',
                  source=SMBCACLS_SRC,
-                 deps='''talloc tdb cap resolv wbclient PARAM LIBSMB KRBCLIENT
-                 LIB_NONSMBD PASSDB GROUPDB POPT_SAMBA3 SMBLDAP LIBMSRPC_GEN
-                 LIBMSRPC LIBCLI_LSA3''',
+                 deps='''talloc tdb cap resolv wbclient param LIBSMB KRBCLIENT
+                 LIB_NONSMBD passdb GROUPDB POPT_SAMBA3 SMBLDAP LIBMSRPC_GEN
+                 msrpc3 LIBCLI_LSA3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcquotas',
                  source=SMBCQUOTAS_SRC,
-                 deps='''talloc tdb cap resolv wbclient PARAM LIB_NONSMBD LIBSMB KRBCLIENT
-                 POPT_SAMBA3 PASSDB SMBLDAP GROUPDB LIBMSRPC_GEN LIBMSRPC
+                 deps='''talloc tdb cap resolv wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
+                 POPT_SAMBA3 passdb SMBLDAP GROUPDB LIBMSRPC_GEN msrpc3
                  LIBCLI_LSA3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('eventlogadm',
                  source=EVTLOGADM_SRC,
-                 deps='''talloc tevent cap POPT_SAMBA3 LIBS PARAM
-                 LIB_NONSMBD LIBSMB_ERR PASSDB wbclient LIBEVENTLOG''',
+                 deps='''talloc tevent cap POPT_SAMBA3 samba3core param
+                 LIB_NONSMBD LIBSMB_ERR passdb wbclient LIBEVENTLOG''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('sharesec',
                  source=SHARESEC_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
+                 deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
                  source=LOCKTEST_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM KRBCLIENT LIBSMB LIB_NONSMBD
+                 deps='''talloc tdb tevent cap resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
                  ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('pdbtest',
                  source=PDBTEST_SRC,
-                 deps='''talloc tdb cap resolv wbclient PARAM LIBSMB KRBCLIENT LIB_NONSMBD PASSDB GROUPDB
+                 deps='''talloc tdb cap resolv wbclient param LIBSMB KRBCLIENT LIB_NONSMBD passdb GROUPDB
                  SMBLDAP POPT_SAMBA3 NDR_SAMR NDR_LSA''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('vfstest',
                  source=VFSTEST_SRC,
-                 deps='''SMBD_BASE SMBREADLINE''',
+                 deps='smbd_base SMBREADLINE',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbiconv',
                  source=SMBICONV_SRC,
-                 deps='''talloc tdb tevent cap PARAM LIB_NONSMBD POPT_SAMBA3 LIBSMB_ERR''',
+                 deps='''talloc tdb tevent cap param LIB_NONSMBD POPT_SAMBA3 LIBSMB_ERR''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('log2pcap',
@@ -1267,7 +1270,7 @@ bld.SAMBA3_BINARY('log2pcap',
 
 bld.SAMBA3_BINARY('locktest2',
                  source=LOCKTEST2_SRC,
-                 deps='''talloc tdb tevent cap resolv wbclient PARAM KRBCLIENT LIBSMB LIB_NONSMBD
+                 deps='''talloc tdb tevent cap resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
                  ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
                  vars=locals())
 
@@ -1278,7 +1281,7 @@ 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 ASN1_UTIL LIBTSOCKET
                  NDR_SAMR NDR_LSA''',
                  vars=locals())
 
@@ -1290,15 +1293,15 @@ bld.SAMBA3_BINARY('versiontest',
 bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
                  source=WBINFO_SRC,
                  deps='''talloc wbclient tevent cap
-                 ASN1_UTIL LIBTSOCKET PASSDB ldap PARAM LIB_NONSMBD
+                 ASN1_UTIL LIBTSOCKET passdb ldap param LIB_NONSMBD
                  LIBSAMBA 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
-                 LIBS LIBSAMBA POPT_SAMBA3 ASN1_UTIL LIBTSOCKET
-                 PASSDB GROUPDB SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
+                 deps='''tdb talloc cap resolv krb5 k5crypto com_err wbclient param LIB_NONSMBD
+                 samba3core LIBSAMBA POPT_SAMBA3 ASN1_UTIL LIBTSOCKET
+                 passdb GROUPDB SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
                  NDR_SAMR NDR_LSA NDR_NETLOGON LIBCLI_LDAP_NDR LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
                  vars=locals())
 
@@ -1308,29 +1311,29 @@ bld.SAMBA3_BINARY('timelimit',
 
 bld.SAMBA3_BINARY('rpc_open_tcp',
                  source=RPC_OPEN_TCP_SRC,
-                 deps='''talloc tdb tevent resolv cap wbclient KRBCLIENT PARAM LIBS LIBSMB LIB_NONSMBD
-                 LIBSMB_ERR ASN1_UTIL LIBTSOCKET LIBMSRPC_GEN LIBMSRPC''',
+                 deps='''talloc tdb tevent resolv cap wbclient KRBCLIENT param samba3core LIBSMB LIB_NONSMBD
+                 LIBSMB_ERR ASN1_UTIL LIBTSOCKET LIBMSRPC_GEN msrpc3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('test_lp_load',
                  source=TEST_LP_LOAD_SRC,
-                 deps='''talloc tdb tevent cap wbclient PARAM LIB_NONSMBD POPT_SAMBA3 LIBSAMBA''',
+                 deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD POPT_SAMBA3 LIBSAMBA''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('dbwrap_tool',
                  source=DBWRAP_TOOL_SRC,
-                 deps='''talloc tdb tevent cap PARAM LIB_NONSMBD LIBSMB_ERR''',
+                 deps='''talloc tdb tevent cap param LIB_NONSMBD LIBSMB_ERR''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('dbwrap_torture',
                  source=DBWRAP_TORTURE_SRC,
-                 deps='''talloc tdb tevent cap PARAM LIB_NONSMBD LIBSMB_ERR
+                 deps='''talloc tdb tevent cap param LIB_NONSMBD LIBSMB_ERR
                  POPT_SAMBA3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('split_tokens',
                  source=SPLIT_TOKENS_SRC,
-                 deps='''talloc tdb tevent cap wbclient PARAM LIB_NONSMBD POPT_SAMBA3
+                 deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD POPT_SAMBA3
                  LIBSAMBA''',
                  vars=locals())
 
@@ -1339,7 +1342,8 @@ bld.SAMBA3_BINARY('vlp',
                  deps='''talloc tdb PARAM_UTIL UTIL_TDB''',
                  vars=locals())
 
-swat_files=recursive_dirlist('../swat', '../swat', '*')
+swat_dir = os.path.join(bld.curdir, '../swat')
+swat_files = recursive_dirlist(swat_dir, swat_dir, '*')
 bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')
 
 # additional compatibility rules.
@@ -1352,6 +1356,23 @@ if not bld.env.toplevel_build:
     bld.SAMBA3_SUBSYSTEM('errors', source='', deps='errors3')
     bld.SAMBA3_SUBSYSTEM('samba-util', source='', deps='samba-util3')
     bld.SAMBA3_SUBSYSTEM('CHARSET', source='', deps='CHARSET3')
+    bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
+    bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='UTIL_TEVENT')
+else:
+
+    # dynconfig provides this in the toplevel build
+    bld.SAMBA3_SUBSYSTEM('LOCALE_DIR',
+                         'localedir.c',
+                         cflags='-DLOCALEDIR=\"%s\"' % bld.env.LOCALEDIR)
+
+    # point the s3 rules at in-tree heimdal
+    bld.SAMBA3_SUBSYSTEM('gssapi_krb5',
+                         source='',
+                         deps='gssapi krb5')
+    bld.SAMBA3_SUBSYSTEM('k5crypto',
+                         source='',
+                         deps='krb5')
+
 
 
 
@@ -1364,6 +1385,7 @@ bld.RECURSE('../lib/async_req')
 bld.RECURSE('../libcli/auth')
 bld.RECURSE('../libcli/drsuapi')
 bld.RECURSE('../libcli/ldap')
+bld.RECURSE('../libcli/cldap')
 bld.RECURSE('../libcli/named_pipe_auth')
 bld.RECURSE('../libcli/netlogon')
 bld.RECURSE('../libcli/samsync')