librpc/idl: Merge wbint.idl with winbind.idl so we can forward IRPC requests to inter...
[samba.git] / source3 / wscript_build
index 8e1e05d1b57ee3462175f5424f63c41cdec3541f..c3cfdb9b673ad4d5fc9c5cad209de9abdc810dc4 100755 (executable)
@@ -3,12 +3,6 @@
 from samba_utils import *
 import samba_version, samba3
 
-DBWRAP_TOOL_SRC = 'utils/dbwrap_tool.c'
-
-DBWRAP_TORTURE_SRC = 'utils/dbwrap_torture.c'
-
-SPLIT_TOKENS_SRC = 'utils/split_tokens.c'
-
 LIBS='ICONV'
 
 config_h = "../include/config.h"
@@ -33,6 +27,7 @@ bld.SAMBA3_LIBRARY('netapi',
                     lib/netapi/libnetapi.c
                     lib/netapi/joindomain.c
                     lib/netapi/serverinfo.c
+                    lib/netapi/wkstainfo.c
                     lib/netapi/getdc.c
                     lib/netapi/user.c
                     lib/netapi/group.c
@@ -89,8 +84,8 @@ bld.SAMBA3_LIBRARY('msrpc3',
                    deps='''ndr ndr-standard
                     RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH
                     LIBTSOCKET gse dcerpc-binding
-                    libsmb
-                    ndr-table''',
+                    libsmb ndr-table NETLOGON_CREDS_CLI
+                   ''',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('gpo',
@@ -177,7 +172,7 @@ bld.SAMBA3_LIBRARY('pdb',
                    passdb/lookup_sid.h''',
                    abi_match=private_pdb_match,
                    abi_directory='passdb/ABI',
-                   vnum='0')
+                   vnum='0.1.0')
 
 bld.SAMBA3_LIBRARY('smbldaphelper',
                    source='passdb/pdb_ldap_schema.c passdb/pdb_ldap_util.c',
@@ -190,36 +185,13 @@ bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
                      source='lib/server_mutex.c',
                      deps='talloc')
 
-bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
-                     source='param/util.c',
-                     deps='talloc')
-
-bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
-                     source='param/loadparm_ctx.c',
-                     deps='''talloc s3_param_h param''',
-                     vars=locals())
-
-bld.SAMBA_GENERATOR('param/param_global_h',
-                    source= '../script/mkparamdefs.pl param/loadparm.c ../lib/param/param_functions.c',
-                    target='param/param_global.h',
-                    rule='${PERL} ${SRC[0].abspath(env)} ${SRC[1].abspath(env)} ${SRC[2].abspath(env)} --file ${TGT} --generate-scope=GLOBAL')
-
 bld.SAMBA3_SUBSYSTEM('param',
                    source='''param/loadparm.c
                    lib/sharesec.c
                    lib/ldap_debug_handler.c
                    lib/util_names.c''',
-                   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',
-                  deps='param',
-                  public_deps='samba-hostconfig pytalloc-util talloc',
-                  realname='samba/samba3/param.so')
-    
-bld.SAMBA3_SUBSYSTEM('param_service',
-                     source='param/service.c',
-                     deps = 'USER_UTIL param PRINTING')
+                   allow_warnings=True,
+                   deps='samba-util PARAM_UTIL ldap lber LOADPARM_CTX samba3core smbconf param_local.h param_global.h cups''')
 
 # this includes only the low level parse code, not stuff
 # that requires knowledge of security contexts
@@ -250,6 +222,7 @@ bld.SAMBA3_LIBRARY('smbregistry',
                    replace util_reg samba-util samba-security
                    errors3 dbwrap samba3-util''',
                    allow_undefined_symbols=True,
+                   allow_warnings=True,
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
@@ -284,6 +257,7 @@ bld.SAMBA3_LIBRARY('util_cmdline',
 
 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
                      source='libads/kerberos.c libads/ads_status.c',
+                     allow_warnings=True,
                      public_deps='krb5samba k5crypto gssapi LIBTSOCKET CLDAP LIBNMB')
 
 bld.SAMBA3_SUBSYSTEM('samba3util',
@@ -299,22 +273,49 @@ bld.SAMBA3_SUBSYSTEM('samba3util',
                    lib/sock_exec.c''',
                    deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash')
 
+if bld.CONFIG_GET("CTDB_CFLAGS") and bld.CONFIG_GET("CTDB_INCLUDE"):
+    SAMBA_CLUSTER_SUPPORT_SOURCES='''
+                     lib/cluster_support.c
+                     lib/dbwrap/dbwrap_ctdb.c
+                     lib/messages_ctdbd.c
+                     lib/ctdb_packet.c
+                     lib/ctdbd_conn.c
+                     lib/ctdb_conn.c
+                     torture/test_ctdbconn.c
+                   '''
+    SAMBA_CLUSTER_SUPPORT_DEPS='''
+                     talloc
+                     tevent
+                     tdb
+                   '''
+else:
+    SAMBA_CLUSTER_SUPPORT_SOURCES='''
+                     lib/cluster_support.c
+                     lib/ctdb_dummy.c
+                   '''
+    SAMBA_CLUSTER_SUPPORT_DEPS='''
+                     talloc
+                     tevent
+                   '''
+
+bld.SAMBA3_LIBRARY('samba-cluster-support',
+                   source=SAMBA_CLUSTER_SUPPORT_SOURCES,
+                   deps=SAMBA_CLUSTER_SUPPORT_DEPS,
+                   cflags=bld.CONFIG_GET("CTDB_CFLAGS"),
+                   includes=bld.CONFIG_GET("CTDB_INCLUDE"),
+                   allow_undefined_symbols=True,
+                   private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('TDB_LIB',
                      source='''lib/dbwrap/dbwrap_open.c
-                     lib/dbwrap/dbwrap_ctdb.c
                      lib/dbwrap/dbwrap_watch.c
                      lib/g_lock.c''',
-                     deps='dbwrap')
+                     deps='dbwrap samba-cluster-support')
 
 bld.SAMBA3_SUBSYSTEM('samba3core',
                    source='''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/messages_dgm.c
+                   lib/util_cluster.c
                    lib/id_cache.c
                    lib/talloc_dict.c
                    lib/serverid.c
@@ -343,7 +344,8 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                    lib/audit.c
                    lib/tevent_wait.c
                    lib/idmap_cache.c
-                   lib/util_ea.c''',
+                   lib/util_ea.c
+                   lib/background.c''',
                    deps='''
                         samba3util
                         LIBTSOCKET
@@ -352,6 +354,8 @@ bld.SAMBA3_SUBSYSTEM('samba3core',
                         UTIL_PW
                         SAMBA_VERSION
                         PTHREADPOOL
+                        UNIX_MSG
+                        POLL_FUNCS_TEVENT
                         interfaces
                         param
                         dbwrap
@@ -371,8 +375,7 @@ bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
 
 bld.SAMBA3_SUBSYSTEM('auth_generic',
                     source='libsmb/auth_generic.c',
-                    deps='LIBNTLMSSP gse gensec',
-                    vars=locals())
+                    deps='LIBNTLMSSP gse gensec')
 
 bld.SAMBA3_LIBRARY('libsmb',
                    source='''libsmb/clientgen.c
@@ -396,7 +399,6 @@ bld.SAMBA3_LIBRARY('libsmb',
                    libsmb/clirap2.c
                    libsmb/async_smb.c
                    libsmb/smb2cli_tcon.c
-                   libsmb/cli_np_tstream.c
                    libsmb/reparse_symlink.c
                    libsmb/clisymlink.c
                    libsmb/smbsock_connect.c
@@ -416,8 +418,7 @@ bld.SAMBA3_LIBRARY('libsmb',
 
 bld.SAMBA3_SUBSYSTEM('CLDAP',
                     source='libads/cldap.c',
-                    deps='cli-ldap-common cli_cldap LIBTSOCKET',
-                    vars=locals())
+                    deps='cli-ldap-common cli_cldap LIBTSOCKET')
 
 # 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
@@ -455,6 +456,7 @@ bld.SAMBA3_LIBRARY('ads',
                    libads/ldap_schema.c
                    libads/util.c
                    libads/ndr.c''',
+                   allow_warnings=True,
                    deps='cli-ldap-common krb5samba ldap lber KRBCLIENT param LIBNMB libsmb DCUTIL smbldap',
                    private_library=True)
 
@@ -466,14 +468,6 @@ bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
                     source='libads/ldap_printer.c',
                     deps='samba-util krb5samba')
 
-bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
-                    source='lib/afs_settoken.c',
-                    deps='samba-util')
-
-bld.SAMBA3_SUBSYSTEM('LIBAFS',
-                    source='lib/afs.c',
-                    deps='samba-util LIBAFS_SETTOKEN')
-
 bld.SAMBA3_LIBRARY('smbconf',
                    source='''lib/smbconf/smbconf_init.c
                    lib/smbconf/smbconf_reg.c''',
@@ -500,6 +494,18 @@ bld.SAMBA3_LIBRARY('smbd_conn',
                    deps='samba3-util samba-util',
                    private_library=True)
 
+bld.SAMBA3_SUBSYSTEM('sysquotas',
+                     source='''
+                        lib/sysquotas.c
+                        lib/sysquotas_linux.c
+                        lib/sysquotas_xfs.c
+                        lib/sysquotas_4A.c
+                        lib/sysquotas_4B.c
+                        lib/sysquotas_nfs.c
+                     ''',
+                     allow_warnings=True,
+                     deps='samba3-util samba-util')
+
 bld.SAMBA3_LIBRARY('smbd_base',
                    source='''
                    smbd/server_reload.c
@@ -542,13 +548,6 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    smbd/error.c
                    printing/printspoolss.c
                    printing/spoolssd.c
-                   lib/sysquotas.c
-                   lib/sysquotas_linux.c
-                   lib/sysquotas_xfs.c
-                   lib/sysquotas_4A.c
-                   lib/sysquotas_4B.c
-                   lib/sysquotas_nfs.c
-                   lib/background.c
                    lib/sessionid_tdb.c
                    lib/conn_tdb.c
                    smbd/fake_file.c
@@ -608,6 +607,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    vfs
                    vfs_default
                    vfs_posixacl
+                  inotify
                    popt_samba3
                    samba3core
                    smbd_conn
@@ -618,9 +618,10 @@ bld.SAMBA3_LIBRARY('smbd_base',
                    LOCKING
                    LIBADS_SERVER
                    LIBAFS
-                   RPC_SERVER
+                   RPC_SERVICE
                    NDR_SMBXSRV
                    LIBASYS
+                   sysquotas
                    ccan-hash
                    NDR_SMB_ACL
                    netapi
@@ -659,7 +660,6 @@ bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
 bld.SAMBA3_LIBRARY('printing_migrate',
                     source='printing/nt_printing_migrate.c rpc_client/cli_winreg_spoolss.c printing/nt_printing_os2.c',
                     deps='NDR_NTPRINTING cli_spoolss RPC_NDR_WINREG LIBCLI_WINREG param',
-                    vars=locals(),
                     private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('PRINTING',
@@ -690,7 +690,6 @@ bld.SAMBA3_SUBSYSTEM('LIBNET',
 bld.SAMBA3_LIBRARY('net_keytab',
                    source='libnet/libnet_keytab.c',
                    deps='krb5samba ads',
-                   vars=locals(),
                    private_library=True)
 
 
@@ -698,6 +697,7 @@ bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
                     source='''libnet/libnet_dssync.c
                     libnet/libnet_dssync_passdb.c
                     libnet/libnet_dssync_keytab.c''',
+                    allow_warnings=True,
                     deps='LIBNET RPC_NDR_DRSUAPI')
 
 bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
@@ -758,13 +758,11 @@ bld.SAMBA3_SUBSYSTEM('DCUTIL',
 bld.SAMBA3_LIBRARY('trusts_util',
                    source='libsmb/trusts_util.c',
                    deps='libcli_netlogon3 msrpc3 pdb',
-                   vars=locals(),
                    private_library=True)
 
 bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
                     source='lib/util_tdb.c',
-                    deps='talloc samba3-util',
-                    vars=locals())
+                    deps='talloc samba3-util')
 
 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/namearray.c lib/file_id.c''',
@@ -797,7 +795,7 @@ bld.SAMBA3_LIBRARY('libcli_lsa3',
 
 bld.SAMBA3_LIBRARY('libcli_netlogon3',
                    source='rpc_client/cli_netlogon.c rpc_client/util_netlogon.c',
-                   deps='RPC_NDR_NETLOGON INIT_NETLOGON cliauth param',
+                   deps='msrpc3 RPC_NDR_NETLOGON INIT_NETLOGON cliauth param NETLOGON_CREDS_CLI',
                    private_library=True)
 
 bld.SAMBA3_LIBRARY('cli_spoolss',
@@ -812,7 +810,7 @@ bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG',
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG_INTERNAL',
                     source='rpc_client/cli_winreg_int.c',
-                    deps='LIBCLI_WINREG RPC_NCACN_NP')
+                    deps='LIBCLI_WINREG RPC_SERVER')
 
 bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
                     source='rpc_client/cli_pipe_schannel.c',
@@ -945,6 +943,7 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
                  winbindd/winbindd_list_groups.c
                  winbindd/winbindd_check_machine_acct.c
                  winbindd/winbindd_change_machine_acct.c
+                 winbindd/winbindd_update_rodc_dns.c
                  winbindd/winbindd_ping_dc.c
                  winbindd/winbindd_pam_auth.c
                  winbindd/winbindd_pam_logoff.c
@@ -965,14 +964,14 @@ bld.SAMBA3_BINARY('winbindd/winbindd',
                  LIBCLI_SAMR
                  SLCACHE
                  RPC_NDR_DSSETUP
-                 RPC_NDR_WBINT
-                 SRV_NDR_WBINT
+                 RPC_NDR_WINBIND
+                 SRV_NDR_WINBIND
                  RPC_SAMR
                  RPC_LSARPC
-                 RPC_NCACN_NP
-                 RPC_PIPE_REGISTER
+                 RPC_SERVER
                  WB_REQTRANS
                  TDB_VALIDATE
+                 MESSAGING
                  ''',
                  enabled=bld.env.build_winbind,
                  install_path='${SBINDIR}')
@@ -995,7 +994,8 @@ bld.SAMBA3_BINARY('rpcclient/rpcclient',
                  rpcclient/cmd_drsuapi.c
                  rpcclient/cmd_eventlog.c
                  rpcclient/cmd_winreg.c
-                 rpcclient/cmd_fss.c''',
+                 rpcclient/cmd_fss.c
+                 rpcclient/cmd_witness.c''',
                  deps='''
                  talloc
                  popt_samba3
@@ -1023,6 +1023,7 @@ bld.SAMBA3_BINARY('rpcclient/rpcclient',
                  RPC_NDR_EVENTLOG
                  INIT_SAMR
                  RPC_NDR_FSRVP
+                 RPC_NDR_WITNESS
                  ''')
 
 bld.SAMBA3_BINARY('client/smbclient',
@@ -1038,7 +1039,8 @@ bld.SAMBA3_BINARY('client/smbclient',
                  libsmb
                  msrpc3
                  RPC_NDR_SRVSVC
-                 cli_smb_common''')
+                 cli_smb_common
+                 ''' + bld.env['archive_lib'])
 
 bld.SAMBA3_BINARY('net',
                  source='''utils/net.c
@@ -1069,6 +1071,7 @@ bld.SAMBA3_BINARY('net',
                  utils/net_dns.c
                  utils/net_ads_gpo.c
                  utils/net_conf.c
+                 utils/net_conf_util.c
                  utils/net_join.c
                  utils/net_user.c
                  utils/net_group.c
@@ -1083,6 +1086,7 @@ bld.SAMBA3_BINARY('net',
                  utils/net_printing.c
                  utils/net_rpc_trust.c
                  utils/net_rpc_conf.c
+                 utils/net_afs.c
                  registry/reg_parse.c
                  registry/reg_format.c
                  registry/reg_import.c
@@ -1124,7 +1128,8 @@ bld.SAMBA3_BINARY('net',
                  RPC_NDR_DSSETUP
                  RPC_NDR_INITSHUTDOWN
                  printing_migrate
-                 trusts_util''')
+                 trusts_util
+                 IDMAP_AUTORID_TDB''')
 
 bld.SAMBA3_BINARY('profiles',
                  source='utils/profiles.c',
@@ -1241,15 +1246,15 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  torture/test_authinfo_structs.c
                  torture/test_smbsock_any_connect.c
                  torture/test_cleanup.c
-                 torture/test_ctdbconn.c
-                 torture/test_msg.c
                  torture/test_notify.c
                  lib/tevent_barrier.c
                  torture/test_dbwrap_watch.c
                  torture/test_idmap_tdb_common.c
                  torture/test_dbwrap_ctdb.c
                  torture/test_buffersize.c
+                 torture/test_messaging_read.c
                  torture/t_strappend.c
+                 torture/bench_pthreadpool.c
                  torture/wbc_async.c''',
                  deps='''
                  talloc
@@ -1262,7 +1267,9 @@ bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
                  LOCKING
                  NDR_OPEN_FILES
                  idmap
+                 samba-cluster-support
                  ''',
+                 cflags='-DWINBINDD_SOCKET_DIR=\"%s\"' % bld.env.WINBINDD_SOCKET_DIR,
                  install=False)
 
 bld.SAMBA3_BINARY('smbconftort',
@@ -1368,8 +1375,7 @@ bld.SAMBA3_BINARY('versiontest',
                  deps='''
                  SAMBA_VERSION
                  param''',
-                 install=False,
-                 vars=locals())
+                 install=False)
 
 bld.SAMBA3_BINARY('ntlm_auth',
                  source='''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c''',
@@ -1383,8 +1389,7 @@ bld.SAMBA3_BINARY('ntlm_auth',
 
 bld.SAMBA3_BINARY('timelimit',
                  source='script/tests/timelimit.c',
-                 install=False,
-                 vars=locals())
+                 install=False)
 
 bld.SAMBA3_BINARY('rpc_open_tcp',
                  source='torture/rpc_open_tcp.c',
@@ -1393,36 +1398,25 @@ bld.SAMBA3_BINARY('rpc_open_tcp',
                  msrpc3''',
                  install=False)
 
-bld.SAMBA3_BINARY('test_lp_load',
-                 source='param/test_lp_load.c',
-                 deps='''
-                 talloc
-                 param
-                 popt_samba3''',
-                 install=False)
-
 bld.SAMBA3_BINARY('dbwrap_tool',
-                 source=DBWRAP_TOOL_SRC,
+                 source='utils/dbwrap_tool.c',
                  deps='''
                  talloc
-                 popt_samba3''',
-                 vars=locals())
+                 popt_samba3''')
 
 bld.SAMBA3_BINARY('dbwrap_torture',
-                 source=DBWRAP_TORTURE_SRC,
+                 source='utils/dbwrap_torture.c',
                  deps='''
                  talloc
                  popt_samba3''',
-                 install=False,
-                 vars=locals())
+                 install=False)
 
 bld.SAMBA3_BINARY('split_tokens',
-                 source=SPLIT_TOKENS_SRC,
+                 source='utils/split_tokens.c',
                  deps='''
                  talloc
                  popt_samba3''',
-                 install=False,
-                 vars=locals())
+                 install=False)
 
 bld.SAMBA3_BINARY('vlp',
                  source='printing/tests/vlp.c',
@@ -1449,8 +1443,7 @@ bld.SAMBA3_BINARY('samba-regedit',
                             utils/regedit_valuelist.c utils/regedit_dialog.c
                             utils/regedit_hexedit.c""",
                   deps='ncurses menu panel form registry param popt_samba3 smbregistry',
-                  enabled=bld.env.build_regedit,
-                  vars=locals())
+                  enabled=bld.env.build_regedit)
 
 ########################## INCLUDES #################################
 
@@ -1458,11 +1451,14 @@ bld.RECURSE('auth')
 bld.RECURSE('libgpo/gpext')
 bld.RECURSE('lib/pthreadpool')
 bld.RECURSE('lib/asys')
+bld.RECURSE('lib/poll_funcs')
+bld.RECURSE('lib/unix_msg')
 bld.RECURSE('librpc')
 bld.RECURSE('librpc/idl')
 bld.RECURSE('libsmb')
 bld.RECURSE('modules')
 bld.RECURSE('pam_smbpass')
+bld.RECURSE('param')
 bld.RECURSE('passdb')
 bld.RECURSE('rpc_server')
 bld.RECURSE('script')