s3: Add two notify benchmark tests
[kai/samba.git] / source3 / wscript_build
index b7cddeb5813ab3f5e955888a40f8ef3b906ade9f..652743c86fb586955976bc1025c31544de47c34c 100755 (executable)
@@ -41,6 +41,8 @@ REG_PARSE_PRS_SRC = '''registry/reg_parse_prs.c'''
 LIB_SRC = '''
           lib/messages.c lib/messages_local.c
           lib/messages_ctdbd.c lib/ctdb_packet.c lib/ctdbd_conn.c
+         lib/ctdb_conn.c
+         lib/msg_channel.c
           lib/id_cache.c
           lib/talloc_dict.c
           lib/serverid.c
@@ -102,7 +104,7 @@ LIBADS_SRC = '''libads/ldap.c
              libads/disp_sec.c libads/ldap_utils.c
              libads/ldap_schema.c libads/util.c libads/ndr.c'''
 
-LIBADS_SERVER_SRC = '''libads/kerberos_verify.c libads/authdata.c'''
+LIBADS_SERVER_SRC = '''libads/authdata.c'''
 
 LIBADS_PRINTER_SRC = '''libads/ldap_printer.c'''
 
@@ -143,7 +145,6 @@ LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
 
 LIBMSRPC_SRC = '''
                rpc_client/cli_pipe.c
-               librpc/crypto/cli_spnego.c
                librpc/rpc/rpc_common.c
                rpc_client/rpc_transport_np.c
                rpc_client/rpc_transport_sock.c
@@ -223,7 +224,7 @@ PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.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
                 passdb/pdb_util.c passdb/pdb_interface.c
                 passdb/pdb_ldap_schema.c
                 passdb/pdb_secrets.c'''
@@ -275,7 +276,7 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
                    winbindd/winbindd_ndr.c
                    winbindd/wb_ping.c
                    winbindd/wb_lookupsid.c
-                  winbindd/wb_lookupsids.c
+                   winbindd/wb_lookupsids.c
                    winbindd/wb_lookupname.c
                    winbindd/wb_sid2uid.c
                    winbindd/wb_sid2gid.c
@@ -296,13 +297,13 @@ WINBINDD_SRC1 = '''winbindd/winbindd.c
                    winbindd/wb_next_grent.c
                    winbindd/wb_dsgetdcname.c
                    winbindd/winbindd_lookupsid.c
-                  winbindd/winbindd_lookupsids.c
+                   winbindd/winbindd_lookupsids.c
                    winbindd/winbindd_lookupname.c
                    winbindd/winbindd_sid_to_uid.c
                    winbindd/winbindd_sid_to_gid.c
                    winbindd/winbindd_uid_to_sid.c
                    winbindd/winbindd_gid_to_sid.c
-                  winbindd/winbindd_sids_to_xids.c
+                   winbindd/winbindd_sids_to_xids.c
                    winbindd/winbindd_allocate_uid.c
                    winbindd/winbindd_allocate_gid.c
                    winbindd/winbindd_getpwsid.c
@@ -361,6 +362,7 @@ SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
                lib/sysquotas.c lib/sysquotas_linux.c
                lib/sysquotas_xfs.c lib/sysquotas_4A.c
                lib/sysquotas_nfs.c
+               lib/background.c
                smbd/fake_file.c
                smbd/quotas.c smbd/ntquotas.c smbd/msdfs.c
                smbd/aio.c smbd/statvfs.c
@@ -499,8 +501,6 @@ LIBNETAPI_SRC0 = '''lib/netapi/netapi.c
 
 LIBNETAPI_SRC = '''${LIBNETAPI_SRC0}'''
 
-# FIXME:  bigballofmud
-
 CLIENT_SRC1 = '''client/client.c client/clitar.c
                  client/dnsbrowse.c'''
 
@@ -545,7 +545,7 @@ NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
               utils/net_eventlog.c
               utils/net_printing.c
               utils/net_rpc_trust.c
-             utils/net_rpc_conf.c
+              utils/net_rpc_conf.c
               registry/reg_parse.c registry/reg_format.c
               registry/reg_import.c
               '''
@@ -565,14 +565,19 @@ SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/
                 torture/test_async_echo.c
                 torture/test_addrchange.c
                 torture/test_posix_append.c
-               torture/test_nttrans_create.c
-               torture/test_nttrans_fsctl.c
-               torture/test_case_insensitive.c
-               torture/test_notify_online.c
-               torture/test_smb2.c
-               torture/test_authinfo_structs.c
+                torture/test_nttrans_create.c
+                torture/test_nttrans_fsctl.c
+                torture/test_case_insensitive.c
+                torture/test_notify_online.c
+                torture/test_chain3.c
+                torture/test_smb2.c
+                torture/test_authinfo_structs.c
                 torture/test_smbsock_any_connect.c
-               torture/test_cleanup.c
+                torture/test_cleanup.c
+               torture/test_ctdbconn.c
+               torture/test_msg.c
+               torture/test_notify.c
+               lib/tevent_barrier.c
                 torture/t_strappend.c'''
 
 SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
@@ -586,7 +591,8 @@ LOCKTEST_SRC = '''torture/locktest.c'''
 
 PDBTEST_SRC = '''torture/pdbtest.c'''
 
-VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c'''
+VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c
+               torture/vfstest_chain.c'''
 
 LOG2PCAP_SRC = '''utils/log2pcaphex.c'''
 
@@ -643,13 +649,18 @@ bld.SETUP_BUILD_GROUPS()
 
 bld.SAMBA3_LIBRARY('netapi',
                     source=LIBNETAPI_SRC,
-                    public_deps='''talloc tdb_compat cap wbclient smbd_shim libsmb KRBCLIENT
-                    pdb param samba-util
-                    LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
-                    RPC_CLIENT_SCHANNEL smbconf REG_SMBCONF
-                    LIBCLI_SAMR libcli_lsa3 libcli_netlogon3
-                    RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_INITSHUTDOWN
-                    INIT_SAMR popt_samba3''',
+                    public_deps='''
+                    talloc
+                    util_cmdline
+                    msrpc3
+                    ads
+                    NDR_LIBNETAPI
+                    LIBNET
+                    RPC_CLIENT_SCHANNEL
+                    libcli_netlogon3
+                    LIBCLI_SAMR
+                    INIT_SAMR
+                    ''',
                     public_headers='../source3/lib/netapi/netapi.h',
                     pc_files=[],
                     vnum='0',
@@ -657,8 +668,14 @@ bld.SAMBA3_LIBRARY('netapi',
 
 bld.SAMBA3_LIBRARY('smbclient',
                     source=LIBSMBCLIENT_SRC,
-                    public_deps='''talloc tdb_compat wbclient cap param  smbd_shim libsmb KRBCLIENT pdb
-                    LIBMSRPC_GEN msrpc3 libcli_lsa3 RPC_NDR_SRVSVC popt_samba3''',
+                    public_deps='''
+                    talloc
+                    param
+                    libsmb
+                    KRBCLIENT
+                    msrpc3
+                    libcli_lsa3
+                    ''',
                     public_headers='include/libsmbclient.h',
                     abi_directory='libsmb/ABI',
                     abi_match='smbc_*',
@@ -677,14 +694,13 @@ bld.SAMBA3_LIBRARY('smbsharemodes',
 
 bld.SAMBA3_LIBRARY('nss_wins',
                   source=WINBIND_WINS_NSS_SRC,
-                  deps='''winbind-client param libsmb smbd_shim LIBTSOCKET KRBCLIENT
-                  cap wbclient''',
+                  deps='''param libsmb LIBTSOCKET''',
                   realname='libnss_wins.so.2',
                   vnum='2')
 
 bld.SAMBA3_LIBRARY('gse',
                    source='librpc/crypto/gse_krb5.c librpc/crypto/gse.c',
-                   deps='KRB5_WRAP gensec param KRBCLIENT SECRETS3',
+                   deps='KRB5_WRAP gensec param KRBCLIENT secrets3',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('msrpc3',
@@ -696,11 +712,6 @@ bld.SAMBA3_LIBRARY('msrpc3',
                    vars=locals(),
                    private_library=True)
 
-bld.SAMBA3_SUBSYSTEM('LIBMSRPC_GEN',
-                    source='',
-                    deps='''ndr-standard NDR_DSSETUP NDR_SPOOLSS''',
-                    vars=locals())
-
 bld.SAMBA3_LIBRARY('gpo',
                    source='${LIBGPO_SRC}',
                    deps='talloc ads TOKEN_UTIL gpext',
@@ -722,7 +733,7 @@ bld.SAMBA3_SUBSYSTEM('TLDAP',
 
 bld.SAMBA3_LIBRARY('pdb',
                    source=PASSDB_SRC,
-                   deps='SECRETS3 GROUPDB wbclient LIBCLI_AUTH flag_mapping',
+                   deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
                    private_library=True,
                    public_headers='''
                                include/passdb.h
@@ -730,13 +741,17 @@ bld.SAMBA3_LIBRARY('pdb',
                                passdb/lookup_sid.h''',
                    vars=locals())
 
+bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
+                     source=SERVER_MUTEX_SRC,
+                    deps='talloc')
+
 bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
                     source=PARAM_UTIL_SRC,
-                    deps='samba-util')
+                   deps='talloc')
 
 bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
                      source='param/loadparm_ctx.c',
-                     deps='''s3_param_h param''',
+                     deps='''talloc s3_param_h param''',
                      vars=locals())
 
 bld.SAMBA_GENERATOR('param/param_global_h',
@@ -746,7 +761,7 @@ bld.SAMBA_GENERATOR('param/param_global_h',
 
 bld.SAMBA3_SUBSYSTEM('param',
                    source=PARAM_WITHOUT_REG_SRC,
-                   deps='samba-util PARAM_UTIL smbd_conn ldap lber LOADPARM_CTX samba3core smbconf param_local_h param/param_global_h''')
+                   deps='samba-util PARAM_UTIL ldap lber LOADPARM_CTX samba3core smbconf param_local_h param/param_global_h cups''')
 
 bld.SAMBA3_PYTHON('pys3param',
                   source='param/pyparam.c',
@@ -756,7 +771,7 @@ bld.SAMBA3_PYTHON('pys3param',
     
 bld.SAMBA3_SUBSYSTEM('param_service',
                      source='param/service.c',
-                     deps = 'USER_UTIL param USER_UTIL PRINTING')
+                     deps = 'USER_UTIL param PRINTING')
 
 bld.SAMBA3_SUBSYSTEM('REGFIO',
                     source=REGFIO_SRC,
@@ -772,7 +787,7 @@ bld.SAMBA3_LIBRARY('smbregistry',
                    source=REG_BASE_SRC,
                    deps='''smbd_shim tdb-wrap3 NDR_SECURITY UTIL_TDB talloc
                    replace util_reg samba-util security
-                   errors3 adt_tree dbwrap util_str util_sec util_malloc''',
+                   errors3 dbwrap samba3-util''',
                    vars=locals(),
                    allow_undefined_symbols=True,
                    private_library=True)
@@ -795,7 +810,7 @@ bld.SAMBA3_LIBRARY('popt_samba3',
 
 bld.SAMBA3_LIBRARY('util_cmdline',
                    source='lib/util_cmdline.c',
-                   deps='SECRETS3 popt',
+                   deps='secrets3',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
@@ -805,26 +820,35 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
 
 bld.SAMBA3_SUBSYSTEM('samba3util',
                    source=LIB_UTIL_SRC,
-                   deps='ndr security NDR_SECURITY samba-util',
+                   deps='ndr security NDR_SECURITY samba-util UTIL_TDB ccan',
                    vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('samba3core',
                    source=LIB_SRC,
-                   deps='samba3util LIBTSOCKET LIBCRYPTO NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 UTIL_TDB UTIL_PW SAMBA_VERSION KRB5_WRAP flag_mapping util_reg PTHREADPOOL interfaces cap string_init param util_str CHARSET3 namearray dbwrap util_sec util_malloc memcache ccan errors3 samba-modules',
+                   deps='''
+                        samba3util
+                        LIBTSOCKET
+                        NDR_MESSAGING
+                        LIBASYNC_REQ
+                        UTIL_PW
+                        SAMBA_VERSION
+                        PTHREADPOOL
+                        interfaces
+                        param
+                        dbwrap
+                        samba3-util
+                        ccan
+                        errors3''',
                    vars=locals())
 
 bld.SAMBA3_LIBRARY('smbd_shim',
-                   source='''lib/smbd_shim.c''', 
+                   source='''lib/smbd_shim.c''',
+                  deps='talloc',
                    private_library=True)
 
-bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
-                    source='',
-                    deps='errors3 pdb ldap lber MSRPC_PARSE LIBCLI_AUTH dcerpc-binding',
-                    vars=locals())
-
 bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
                     source=LIBNTLMSSP_SRC,
-                    deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec',
+                    deps='NDR_NTLMSSP NTLMSSP_COMMON wbclient',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('auth_generic',
@@ -834,7 +858,17 @@ bld.SAMBA3_SUBSYSTEM('auth_generic',
 
 bld.SAMBA3_LIBRARY('libsmb',
                    source=LIBSMB_SRC,
-                   deps='LIBNTLMSSP auth_generic CLDAP LIBNMB LIBNBT LIBDRSUAPI SPNEGO_PARSE LIBTSOCKET KRBCLIENT cli_smb_common util_cmdline tevent',
+                   deps='''
+                   LIBNTLMSSP
+                   auth_generic
+                   CLDAP
+                   LIBNMB
+                   SPNEGO_PARSE
+                   LIBTSOCKET
+                   KRBCLIENT
+                   cli_smb_common
+                   util_cmdline
+                   tevent''',
                    vars=locals(),
                    private_library=True)
 
@@ -843,9 +877,13 @@ bld.SAMBA3_SUBSYSTEM('CLDAP',
                     deps='cli-ldap-common cli_cldap LIBTSOCKET',
                     vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('SECRETS3',
+# NOTE: The secrets3 library is a low level library used by several subsystems.
+# PLEASE DO NOT make it depend on high level libraries like PDB, if you are
+# doing that your design is wrong and needs changing. -SSS
+bld.SAMBA3_LIBRARY('secrets3',
                    source=SECRETS_SRC,
-                   deps='NDR_SECRETS param samba3util dbwrap pdb',
+                   deps='NDR_SECRETS param samba3util dbwrap',
+                   private_library=True,
                    vars=locals())
 
 bld.SAMBA3_LIBRARY('smbldap',
@@ -864,7 +902,7 @@ bld.SAMBA3_LIBRARY('ads',
 
 bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
                     source=LIBADS_SERVER_SRC,
-                    deps='ndr-krb5pac KRB5_WRAP',
+                    deps='SERVER_MUTEX ndr-krb5pac KRB5_WRAP',
                    vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
@@ -884,39 +922,63 @@ bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
 
 bld.SAMBA3_LIBRARY('smbconf',
                    source=LIB_SMBCONF_SRC,
-                   deps='''LIBSMBCONF smbregistry REG_SMBCONF talloc param
-                   util_reg samba-util errors3 charset SAMBA_VERSION
-                   cli_smb_common''',
+                   deps='''
+                   CHARSET3
+                   LIBSMBCONF
+                   REG_SMBCONF
+                   SAMBA_VERSION
+                   cap
+                   charset
+                   cli_smb_common
+                   errors3
+                   param
+                   samba-util
+                   smbregistry
+                   talloc
+                   util_reg''',
                    public_headers='../lib/smbconf/smbconf.h',
                    pc_files=[],
                    vnum='0')
 
 bld.SAMBA3_LIBRARY('smbd_conn',
                    source='smbd/conn.c',
-                   deps='string_init samba-util namearray',
+                   deps='samba3-util samba-util',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('smbd_base',
                     source=SMBD_SRC_BASE,
-                    deps='''tdb_compat tevent dl krb5 ldap gssapi gssapi_krb5
-                    samba-util wbclient crypt nsl cups cap z pdb
-                    param 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_NOTIFY REGFIO
-                    smbconf REG_FULL FNAME_UTIL
-                    NDR_OPEN_FILES
-                    LIBCLI_SAMR libcli_lsa3 libcli_netlogon3 cli_spoolss
-                    RPC_NDR_SRVSVC npa_tstream INIT_SAMR
-                    cli_smb_common RPC_SERVER smbd_conn param_service
-                    smbd_shim NDR_DFSBLOBS
+                    deps='''
+                    talloc
+                    tevent
+                    pdb
+                    libsmb
+                    msrpc3
+                    vfs
+                    vfs_default
+                    vfs_posixacl
+                    popt_samba3
+                    samba3core
+                    smbd_conn
+                    param_service
+                    AVAHI
+                    PRINTBASE
+                    PROFILE
+                    LOCKING
+                    LIBADS_SERVER
+                    LIBAFS
+                    LIBAFS_SETTOKEN
+                    RPC_SERVER
                     ''',
                     private_library=True,
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LOCKING',
                     source='${LOCKING_SRC}',
-                    deps='''tdb_compat talloc NDR_OPEN_FILES''',
+                    deps='''
+                    tdb_compat
+                    talloc
+                    NDR_OPEN_FILES
+                    FNAME_UTIL''',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('PROFILE',
@@ -926,12 +988,12 @@ bld.SAMBA3_SUBSYSTEM('PROFILE',
 
 bld.SAMBA3_SUBSYSTEM('PRINTBASE',
                     source=PRINTBASE_SRC,
-                    deps='samba-util tdb',
+                    deps='samba-util tdb_compat',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
                     source=PRINTBACKEND_SRC,
-                    deps='PRINTBASE LIBADS_PRINTER tdb printing_migrate',
+                    deps='PRINTBASE LIBADS_PRINTER tdb_compat printing_migrate',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('printing_migrate',
@@ -942,7 +1004,7 @@ bld.SAMBA3_LIBRARY('printing_migrate',
 
 bld.SAMBA3_SUBSYSTEM('PRINTING',
                     source=PRINTING_SRC,
-                    deps='NDR_PRINTCAP tdb',
+                    deps='NDR_PRINTCAP tdb_compat cups',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
@@ -957,7 +1019,7 @@ bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
 
 bld.SAMBA3_SUBSYSTEM('LIBNET',
                     source=LIBNET_SRC,
-                    deps='NDR_LIBNET_JOIN KRB5_WRAP net_keytab',
+                    deps='NDR_LIBNET_JOIN INIT_SAMR net_keytab pdb',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('net_keytab',
@@ -969,7 +1031,7 @@ bld.SAMBA3_LIBRARY('net_keytab',
 
 bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
                     source=LIBNET_DSSYNC_SRC,
-                    deps='LIBNET LIBCLI_DRSUAPI tdb-wrap3',
+                    deps='LIBNET RPC_NDR_DRSUAPI',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
@@ -979,7 +1041,7 @@ bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
 
 bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
                     source=LIB_EVENTLOG_SRC,
-                    deps='NDR_EVENTLOG tdb',
+                    deps='NDR_EVENTLOG tdb_compat',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('LIBNMB',
@@ -987,11 +1049,6 @@ bld.SAMBA3_SUBSYSTEM('LIBNMB',
                      deps='lmhosts resolv',
                      vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('LIBNBT',
-                    source='',
-                    deps='NDR_SVCCTL ndr_nbt LIBCLI_NETLOGON',
-                    vars=locals())
-
 bld.SAMBA3_SUBSYSTEM('SERVICES',
                     source=SERVICES_SRC,
                     deps='samba-util',
@@ -1004,7 +1061,9 @@ bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
 
 bld.SAMBA3_SUBSYSTEM('PASSCHANGE',
                     source=PASSCHANGE_SRC,
-                    deps='LIBCLI_SAMR',
+                    deps='''LIBCLI_SAMR
+                    INIT_LSA
+                    msrpc3''',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
@@ -1014,7 +1073,7 @@ bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
 
 bld.SAMBA3_SUBSYSTEM('SLCACHE',
                     source=SLCACHE_SRC,
-                    deps='samba-util tdb',
+                    deps='samba-util tdb_compat',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('DCUTIL',
@@ -1024,64 +1083,34 @@ bld.SAMBA3_SUBSYSTEM('DCUTIL',
 
 bld.SAMBA3_LIBRARY('trusts_util',
                    source='libsmb/trusts_util.c',
-                   deps='ads libcli_netlogon3 msrpc3',
+                   deps='libcli_netlogon3 msrpc3 pdb',
                    vars=locals(),
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
                     source='lib/util_tdb.c',
-                     deps='tdb-wrap',
+                    deps='talloc',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('dbwrap',
-                   source='lib/dbwrap/dbwrap.c lib/dbwrap/dbwrap_util.c lib/dbwrap/dbwrap_rbt.c',
+                   source='lib/dbwrap/dbwrap.c lib/dbwrap/dbwrap_util.c lib/dbwrap/dbwrap_rbt.c lib/dbwrap/dbwrap_cache.c',
                    deps='samba-util UTIL_TDB errors',
                    private_library=True)
 
-bld.SAMBA3_LIBRARY('util_malloc',
-                   source='''lib/util_malloc.c''',
-                   deps='samba-util',
-                   private_library=True)
-
-bld.SAMBA3_LIBRARY('string_init',
-                   source='''lib/string_init.c''',
-                   deps='samba-util',
-                   private_library=True)
-
-bld.SAMBA3_LIBRARY('util_str',
-                   source='''lib/util_str.c''',
+bld.SAMBA3_LIBRARY('samba3-util',
+                   source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/string_init.c lib/namearray.c''',
                    deps='samba-util charset',
                    private_library=True)
 
-bld.SAMBA3_LIBRARY('util_sec',
-                   source='''lib/util_sec.c''',
-                   deps='samba-util',
-                   private_library=True)
-
-bld.SAMBA3_LIBRARY('namearray',
-                   source='lib/namearray.c',
-                   deps='samba-util',
-                   private_library=True)
-
-bld.SAMBA3_LIBRARY('adt_tree',
-                   source='lib/adt_tree.c',
-                   deps='samba-util',
-                   private_library=True)
-
-bld.SAMBA3_LIBRARY('memcache',
-                   source='lib/memcache.c',
-                   deps='samba-util util_malloc',
-                   private_library=True)
-
 bld.SAMBA3_LIBRARY('CHARSET3',
                     source='''lib/charcnv.c lib/fstring.c''',
                     public_deps='ICONV_WRAPPER charset',
-                    deps='samba-util util_str',
+                    deps='samba-util samba3-util',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('errors3',
                      source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
-                     deps='errors gssapi')
+                     deps='errors')
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
                     source=LIBCLI_SAMR_SRC,
@@ -1089,7 +1118,7 @@ bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
 
 bld.SAMBA3_LIBRARY('libcli_lsa3',
                    source=LIBCLI_LSA_SRC,
-                   deps='RPC_NDR_LSA INIT_LSA UTIL_LSARPC', 
+                   deps='RPC_NDR_LSA INIT_LSA',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('libcli_netlogon3',
@@ -1099,7 +1128,7 @@ bld.SAMBA3_LIBRARY('libcli_netlogon3',
 
 bld.SAMBA3_LIBRARY('cli_spoolss',
                    source=LIBCLI_SPOOLSS_SRC,
-                   deps='RPC_NDR_SPOOLSS param SECRETS3',
+                   deps='RPC_NDR_SPOOLSS param secrets3',
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG',
@@ -1137,24 +1166,39 @@ bld.SAMBA3_BINARY('smbd/smbd',
 
 bld.SAMBA3_BINARY('nmbd/nmbd',
                  source=NMBD_SRC,
-                 deps='''talloc tdb_compat tevent z cap wbclient dl
-                 pdb param ldap smbd_shim libsmb
-                 popt_samba3 KRBCLIENT NDR_SAMR NDR_LSA PROFILE''',
+                 deps='''
+                 talloc
+                 tevent
+                 param
+                 libsmb
+                 popt_samba3
+                 PROFILE''',
                  install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA3_BINARY('winbindd/winbindd',
                  source=WINBINDD_SRC,
-                 deps='''talloc tdb_compat tevent cap dl z
-                 wbclient pdb ldap param smbd_shim libsmb
-                 popt_samba3 KRBCLIENT LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER
-                 SRV_NDR_WBINT RPC_NDR_WBINT NDR_WBINT LIBAFS
-                 LIBAFS_SETTOKEN PROFILE SLCACHE DCUTIL idmap nss_info
-                 TOKEN_UTIL
-                 LIBCLI_SAMR libcli_lsa3 libcli_netlogon3
-                 RPC_NDR_DSSETUP npa_tstream
-                 RPC_NCACN_NP RPC_PIPE_REGISTER RPC_SAMR RPC_LSARPC
-                 PAM_ERRORS WB_REQTRANS auth
+                 deps='''
+                 talloc
+                 tevent
+                 pdb
+                 popt_samba3
+                 idmap
+                 ads
+                 msrpc3
+                 nss_info
+                 LIBAFS
+                 LIBADS_SERVER
+                 LIBCLI_SAMR
+                 SLCACHE
+                 RPC_NDR_DSSETUP
+                 RPC_NDR_WBINT
+                 SRV_NDR_WBINT
+                 RPC_SAMR
+                 RPC_LSARPC
+                 RPC_NCACN_NP
+                 RPC_PIPE_REGISTER
+                 WB_REQTRANS
                  ''',
                  enabled=bld.env.build_winbind,
                  install_path='${SBINDIR}',
@@ -1162,125 +1206,230 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
 
 bld.SAMBA3_BINARY('web/swat',
                  source=SWAT_SRC,
-                 deps='''talloc tevent cap samba3core libsmb wbclient param
-                 smbd_shim pdb popt_samba3 KRBCLIENT cups
-                 LIBMSRPC_GEN msrpc3 LOCKING PLAINTEXT_AUTH PRINTBASE PRINTING FNAME_UTIL
-                 LIBCLI_SAMR INIT_LSA PASSCHANGE''',
+                 deps='''
+                 talloc
+                 tevent
+                 samba3core
+                 libsmb
+                 param
+                 pdb
+                 popt_samba3
+                 LOCKING
+                 PLAINTEXT_AUTH
+                 PASSCHANGE
+                 PRINTBASE
+                 PRINTING
+                 ''',
                  enabled=bld.env.build_swat,
                  install_path='${SBINDIR}',
                  vars=locals())
 
 bld.SAMBA3_BINARY('rpcclient/rpcclient',
                  source=RPCCLIENT_SRC,
-                 deps='''talloc tdb_compat cap popt_samba3 pdb libsmb smbd_shim
-                 param wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3
-                 SMBREADLINE trusts_util RPC_NDR_WINREG RPC_NDR_ECHO
+                 deps='''
+                 talloc
+                 popt_samba3
+                 pdb
+                 libsmb
+                 param
+                 ndr-standard
+                 msrpc3
+                 SMBREADLINE
+                 trusts_util
+                 RPC_NDR_WINREG
+                 RPC_NDR_ECHO
                  RPC_CLIENT_SCHANNEL
-                 LIBCLI_SAMR libcli_lsa3 libcli_netlogon3 cli_spoolss
-                 RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_DSSETUP RPC_NDR_DFS
-                 RPC_NDR_DRSUAPI RPC_NDR_NTSVCS RPC_NDR_EVENTLOG
+                 DCUTIL
+                 LIBCLI_SAMR
+                 libcli_lsa3
+                 libcli_netlogon3
+                 cli_spoolss
+                 RPC_NDR_SRVSVC
+                 RPC_NDR_WKSSVC
+                 RPC_NDR_DSSETUP
+                 RPC_NDR_DFS
+                 RPC_NDR_DRSUAPI
+                 RPC_NDR_NTSVCS
+                 RPC_NDR_EVENTLOG
                  INIT_SAMR
                  ''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('client/smbclient' + bld.env.suffix3,
                  source=CLIENT_SRC,
-                 deps='''talloc tdb_compat cap popt_samba3 pdb libsmb smbd_shim
-                 param wbclient param KRBCLIENT LIBMSRPC_GEN
-                 msrpc3 SMBREADLINE smbclient RPC_NDR_SRVSVC INIT_LSA
+                 deps='''
+                 talloc
+                 popt_samba3
+                 param
+                 ndr-standard
+                 SMBREADLINE
+                 smbclient
+                 RPC_NDR_SRVSVC
                  cli_smb_common''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('net',
                  source=NET_SRC,
-                 deps='''talloc tdb_compat netapi addns cap intl popt_samba3 pdb libsmb smbd_shim
-                 param wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 gpo ads LIBADS_SERVER LIBADS_PRINTER
-                 LIBAFS LIBAFS_SETTOKEN SMBREADLINE PASSWD_UTIL LIBNET
-                 LIBNET_DSSYNC LIBNET_SAMSYNC LIBEVENTLOG DCUTIL
-                 REGFIO NDR_NTPRINTING RPC_NDR_WINREG
-                 RPC_CLIENT_SCHANNEL TOKEN_UTIL
-                 LIBCLI_SAMR libcli_lsa3 libcli_netlogon3 cli_spoolss
-                 RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_SVCCTL RPC_NDR_DSSETUP
-                 RPC_NDR_INITSHUTDOWN RPC_NDR_DRSUAPI INIT_SAMR
-                 printing_migrate trusts_util
-                ''',
+                 deps='''
+                 talloc
+                 netapi
+                 addns
+                 intl
+                 popt_samba3
+                 pdb
+                 libsmb
+                 param
+                 KRBCLIENT
+                 ndr-standard
+                 msrpc3
+                 gpo
+                 ads
+                 LIBADS_SERVER
+                 LIBADS_PRINTER
+                 SMBREADLINE
+                 PASSWD_UTIL
+                 LIBNET
+                 LIBNET_DSSYNC
+                 LIBNET_SAMSYNC
+                 LIBEVENTLOG
+                 REGFIO
+                 NDR_NTPRINTING
+                 RPC_NDR_WINREG
+                 RPC_CLIENT_SCHANNEL
+                 LIBCLI_SAMR
+                 libcli_lsa3
+                 libcli_netlogon3
+                 cli_spoolss
+                 RPC_NDR_SRVSVC
+                 RPC_NDR_SVCCTL
+                 RPC_NDR_DSSETUP
+                 RPC_NDR_INITSHUTDOWN
+                 printing_migrate
+                 trusts_util''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('profiles',
                  source=PROFILES_SRC,
-                 deps='''talloc tdb_compat cap tevent popt_samba3 param samba3core LIBSMB_ERR smbd_shim REGFIO''',
+                 deps='''
+                 talloc
+                 popt_samba3
+                 param
+                 REGFIO''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbspool',
                  source=CUPS_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient popt_samba3 param libsmb smbd_shim samba3core
-                 KRBCLIENT asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
+                 deps='''
+                 talloc
+                 popt_samba3
+                 param
+                 libsmb
+                 samba3core''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('testparm',
                  source=TESTPARM_SRC,
-                 deps='''talloc tevent ldap cap 
-                 wbclient asn1util LIBTSOCKET pdb param smbd_shim
-                 LIBSMB_ERR popt_samba3''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbta-util',
                  source=SMBTA_UTIL_SRC,
-                 deps='''talloc tdb_compat tevent cap param popt_samba3 smbd_shim
-                 LIBSMB_ERR''',
+                 deps='''
+                 talloc
+                 secrets3
+                 param''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbstatus',
                  source=STATUS_SRC,
-                 deps='''talloc tdb_compat tevent cap param popt_samba3 smbd_shim
-                 LIBSMB_ERR LOCKING PROFILE FNAME_UTIL''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3
+                 LOCKING
+                 PROFILE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcontrol',
                  source=SMBCONTROL_SRC,
-                 deps='''talloc tdb_compat tevent cap param smbd_shim LIBSMB_ERR popt_samba3 PRINTBASE''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3
+                 PRINTBASE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbtree',
                  source=SMBTREE_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
-                 libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 PROFILE
+                 deps='''
+                 talloc
+                 param
+                 libsmb
+                 msrpc3
+                 popt_samba3
+                 PROFILE
                  RPC_NDR_SRVSVC''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbpasswd',
                  source=SMBPASSWD_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
-                 libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 PASSWD_UTIL
-                 LIBCLI_SAMR INIT_LSA PASSCHANGE''',
+                 deps='''
+                 talloc
+                 param
+                 pdb
+                 PASSWD_UTIL
+                 PASSCHANGE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('pdbedit',
                  source=PDBEDIT_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
-                 LIBNTLMSSP LIBSMB_ERR popt_samba3 pdb
-                 PASSWD_UTIL cli-ldap-common''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3
+                 pdb
+                 PASSWD_UTIL''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbget',
                  source=SMBGET_SRC,
-                 deps='''talloc tdb_compat smbclient popt_samba3''',
+                 deps='''
+                 talloc
+                 popt_samba3
+                 smbclient''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('nmblookup' + bld.env.suffix3,
                  source=NMBLOOKUP_SRC,
-                 deps='''talloc tdb_compat tevent cap param smbd_shim popt_samba3 LIBSMB_ERR LIBNMB''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3
+                 LIBNMB''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  source=SMBTORTURE_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param libsmb KRBCLIENT TLDAP
-                 smbd_shim popt_samba3 asn1util LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS libcli_lsa3''',
+                 deps='''
+                 talloc
+                 param
+                 libsmb
+                 msrpc3
+                 TLDAP
+                 RPC_NDR_ECHO
+                 WB_REQTRANS
+                 ''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbconftort',
                  source=SMBCONFTORT_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim LIBSMB_ERR popt_samba3''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('replacetort',
@@ -1290,55 +1439,76 @@ bld.SAMBA3_BINARY('replacetort',
 
 bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
                  source=MASKTEST_SRC,
-                 deps='''talloc tdb_compat cap wbclient param smbd_shim libsmb KRBCLIENT
-                 asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
+                 deps='''
+                 talloc
+                 param
+                 libsmb''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('msgtest',
                  source=MSGTEST_SRC,
-                 deps='''talloc tdb_compat tevent cap param LIBSMB_ERR smbd_shim''',
+                 deps='''
+                 talloc
+                 param''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcacls',
                  source=SMBCACLS_SRC,
-                 deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT
-                 smbd_shim pdb popt_samba3 LIBMSRPC_GEN
-                 msrpc3 libcli_lsa3''',
+                 deps='''
+                 talloc
+                 popt_samba3
+                 msrpc3
+                 libcli_lsa3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('smbcquotas',
                  source=SMBCQUOTAS_SRC,
-                 deps='''talloc tdb_compat cap wbclient param  smbd_shim libsmb KRBCLIENT
-                 popt_samba3 pdb LIBMSRPC_GEN msrpc3
+                 deps='''
+                 talloc
+                 popt_samba3
+                 libsmb
+                 msrpc3
                  libcli_lsa3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('eventlogadm',
                  source=EVTLOGADM_SRC,
-                 deps='''talloc tevent cap popt_samba3 samba3core param
-                 smbd_shim LIBSMB_ERR pdb wbclient LIBEVENTLOG''',
+                 deps='''
+                 talloc
+                 param
+                 LIBEVENTLOG''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('sharesec',
                  source=SHARESEC_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim LIBSMB_ERR popt_samba3''',
+                 deps='''
+                 talloc
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
                  source=LOCKTEST_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param KRBCLIENT libsmb smbd_shim
-                 asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
+                 deps='''
+                 talloc
+                 param
+                 libsmb
+                 LOCKING''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('pdbtest',
                  source=PDBTEST_SRC,
-                 deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT smbd_shim pdb
-                 popt_samba3 NDR_SAMR NDR_LSA''',
+                 deps='''
+                 talloc
+                 pdb
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('vfstest',
                  source=VFSTEST_SRC,
-                 deps='smbd_base SMBREADLINE',
+                 deps='''
+                 vfs
+                 popt_samba3
+                 SMBREADLINE''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('log2pcap',
@@ -1348,8 +1518,11 @@ bld.SAMBA3_BINARY('log2pcap',
 
 bld.SAMBA3_BINARY('locktest2',
                  source=LOCKTEST2_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param KRBCLIENT libsmb smbd_shim
-                 asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
+                 deps='''
+                 talloc
+                 param
+                 libsmb
+                 LOCKING''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('debug2html',
@@ -1359,21 +1532,28 @@ bld.SAMBA3_BINARY('debug2html',
 
 bld.SAMBA3_BINARY('smbfilter',
                  source=SMBFILTER_SRC,
-                 deps='''talloc tevent cap wbclient param libsmb smbd_shim KRBCLIENT asn1util LIBTSOCKET
-                 NDR_SAMR NDR_LSA''',
+                 deps='''
+                 talloc
+                 param
+                 LIBNMB''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('versiontest',
                  source='lib/version_test.c',
-                 deps='SAMBA_VERSION samba3core param',
+                 deps='''
+                 SAMBA_VERSION
+                 param''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
                  source=NTLM_AUTH_SRC,
-                 deps='''tdb_compat talloc cap KRB5_WRAP k5crypto wbclient param smbd_shim
-                 samba3core LIBNTLMSSP popt_samba3 asn1util LIBTSOCKET
-                 pdb winbind-client LIBINIPARSER LIBADS_SERVER
-                 NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT libsmb''',
+                 deps='''
+                 talloc
+                 KRB5_WRAP
+                 LIBINIPARSER
+                 libsmb
+                 popt_samba3
+                 LIBNTLMSSP gse gensec''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('timelimit',
@@ -1382,36 +1562,45 @@ bld.SAMBA3_BINARY('timelimit',
 
 bld.SAMBA3_BINARY('rpc_open_tcp',
                  source=RPC_OPEN_TCP_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient KRBCLIENT param samba3core libsmb smbd_shim
-                 LIBSMB_ERR asn1util LIBTSOCKET LIBMSRPC_GEN msrpc3''',
+                 deps='''
+                 talloc
+                 msrpc3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('test_lp_load',
                  source=TEST_LP_LOAD_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param  smbd_shim popt_samba3 LIBNTLMSSP''',
+                 deps='''
+                 talloc
+                 param
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('dbwrap_tool',
                  source=DBWRAP_TOOL_SRC,
-                 deps='''talloc tdb_compat tevent cap param smbd_shim LIBSMB_ERR
-                popt_samba3''',
+                 deps='''
+                 talloc
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('dbwrap_torture',
                  source=DBWRAP_TORTURE_SRC,
-                 deps='''talloc tdb_compat tevent cap param  smbd_shim LIBSMB_ERR
+                 deps='''
+                 talloc
                  popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('split_tokens',
                  source=SPLIT_TOKENS_SRC,
-                 deps='''talloc tdb_compat tevent cap wbclient param smbd_shim popt_samba3
-                 LIBNTLMSSP''',
+                 deps='''
+                 talloc
+                 popt_samba3''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('vlp',
                  source=VLP_SRC,
-                 deps='''talloc tdb_compat PARAM_UTIL UTIL_TDB samba3core param''',
+                 deps='''
+                 talloc
+                 param''',
                  vars=locals())
 
 swat_dir = os.path.join(bld.curdir, '../swat')