s3-netapi Compile (but do not install) netapi tests
[rusty/samba.git] / source3 / wscript_build
index 3b13b0b8d9440f62f633822be46194ab5f8bc11a..bcad36e5320e3d20b66e4a199c96f0f3826a9da0 100755 (executable)
@@ -3,16 +3,6 @@
 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/dbwrap_open.c
          lib/dbwrap/dbwrap_tdb.c
@@ -80,7 +70,7 @@ LIB_SRC = '''
           intl/lang_tdb.c
           lib/conn_tdb.c lib/gencache.c
           lib/sessionid_tdb.c
-          lib/module.c lib/events.c
+          lib/events.c
           lib/server_contexts.c
           lib/server_prefork.c
           lib/server_prefork_util.c
@@ -539,6 +529,7 @@ NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.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_idmap_check.c
+              utils/interact.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
@@ -546,6 +537,7 @@ NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
               utils/net_dns.c utils/net_ads_gpo.c
               utils/net_conf.c utils/net_join.c utils/net_user.c
               utils/net_group.c utils/net_file.c utils/net_registry.c
+              utils/net_registry_check.c
               utils/net_dom.c utils/net_share.c
               utils/net_g_lock.c
               utils/net_serverid.c
@@ -573,6 +565,7 @@ SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/
                 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
@@ -615,8 +608,6 @@ SMBFILTER_SRC = '''utils/smbfilter.c'''
 
 WINBIND_WINS_NSS_SRC = '''../nsswitch/wins.c'''
 
-WBINFO_SRC = '''../nsswitch/wbinfo.c'''
-
 NTLM_AUTH_SRC1 = '''utils/ntlm_auth.c utils/ntlm_auth_diagnostics.c'''
 
 NTLM_AUTH_SRC = '''${NTLM_AUTH_SRC1}'''
@@ -633,10 +624,7 @@ SPLIT_TOKENS_SRC = 'utils/split_tokens.c'
 
 LIBS='ICONV'
 
-if bld.env.toplevel_build:
-    config_h = "../include/config.h"
-else:
-    config_h = "include/config.h"
+config_h = "../include/config.h"
 
 bld.SAMBA_BLDOPTIONS('smbd/build_options.c')
 
@@ -650,21 +638,12 @@ t.env.BUILDDIR = bld.path.abspath()
 
 bld.SETUP_BUILD_GROUPS()
 
-if not bld.env.toplevel_build:
-    # when using a toplevel build, these are already supplied
-    samba_version.load_version(bld.env)
-    bld.SAMBA_MKVERSION('include/version.h')
-    bld.RECURSE('../lib/replace')
-    bld.RECURSE('../dynconfig')
-    bld.env.suffix3 = ''
-
-
 ######################## SUBSYSTEMS #################################
 
 bld.SAMBA3_LIBRARY('netapi',
                     source=LIBNETAPI_SRC,
                     public_deps='''talloc tdb_compat cap wbclient smbd_shim libsmb KRBCLIENT
-                    pdb SMBLDAP param samba-util
+                    pdb param samba-util
                     LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
                     RPC_CLIENT_SCHANNEL smbconf REG_SMBCONF
                     LIBCLI_SAMR libcli_lsa3 LIBRPCCLI_NETLOGON
@@ -677,11 +656,13 @@ bld.SAMBA3_LIBRARY('netapi',
 
 bld.SAMBA3_LIBRARY('smbclient',
                     source=LIBSMBCLIENT_SRC,
-                    public_deps='''talloc tdb_compat wbclient cap param  smbd_shim libsmb KRBCLIENT pdb SMBLDAP
+                    public_deps='''talloc tdb_compat wbclient cap param  smbd_shim libsmb KRBCLIENT pdb
                     LIBMSRPC_GEN msrpc3 libcli_lsa3 RPC_NDR_SRVSVC popt_samba3''',
                     public_headers='include/libsmbclient.h',
-                    vnum='0',
-                    pc_files=[],
+                    abi_directory='libsmb/ABI',
+                    abi_match='smbc_*',
+                    vnum='0.1.0',
+                    pc_files='libsmb/smbclient.pc',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('smbsharemodes',
@@ -737,17 +718,22 @@ bld.SAMBA3_LIBRARY('pdb',
                    source=PASSDB_SRC,
                    deps='SECRETS3 SMBLDAP GROUPDB wbclient LIBCLI_AUTH flag_mapping',
                    private_library=True,
+                   public_headers='''
+                               include/passdb.h
+                               passdb/machine_sid.h
+                               passdb/lookup_sid.h''',
+                   pc_files=[],
+                   vnum='0',
                    vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
                     source=PARAM_UTIL_SRC,
                     deps='samba-util')
 
-if bld.env.toplevel_build:
-    bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
-                         source='param/loadparm_ctx.c',
-                         deps='''s3_param_h param''',
-                         vars=locals())
+bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
+                     source='param/loadparm_ctx.c',
+                     deps='''s3_param_h param''',
+                     vars=locals())
 
 bld.SAMBA_GENERATOR('param/param_global_h',
                     source= 'param/loadparm.c ../script/mkparamdefs.pl',
@@ -758,12 +744,11 @@ 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''')
 
-if bld.env.toplevel_build:
-    bld.SAMBA3_PYTHON('pys3param',
-                      source='param/pyparam.c',
-                      deps='param',
-                      public_deps='samba-hostconfig pytalloc-util talloc',
-                      realname='samba/samba3/param.so')
+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',
@@ -811,12 +796,12 @@ bld.SAMBA3_LIBRARY('util_cmdline',
 
 bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
                     source=KRBCLIENT_SRC,
-                    public_deps='KRB5_WRAP k5crypto',
+                    public_deps='KRB5_WRAP k5crypto LIBTSOCKET CLDAP',
                     vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('samba3core',
                    source=LIB_SRC,
-                   deps='LIBTSOCKET LIBCRYPTO ndr security NDR_SECURITY samba-util 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',
+                   deps='LIBTSOCKET LIBCRYPTO ndr security NDR_SECURITY samba-util 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 uid_wrapper',
                    vars=locals())
 
 bld.SAMBA3_LIBRARY('smbd_shim',
@@ -830,7 +815,7 @@ bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
 
 bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
                     source=LIBNTLMSSP_SRC,
-                    deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec_runtime',
+                    deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON gensec',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('libsmb',
@@ -911,7 +896,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
                     LIBCLI_SAMR libcli_lsa3 LIBRPCCLI_NETLOGON cli_spoolss
                     RPC_NDR_SRVSVC npa_tstream INIT_NETLOGON INIT_SAMR
                     cli_smb_common RPC_SERVER smbd_conn param_service
-                    smbd_shim
+                    smbd_shim uid_wrapper NDR_DFSBLOBS
                     ''',
                     private_library=True,
                     vars=locals())
@@ -1070,7 +1055,7 @@ bld.SAMBA3_LIBRARY('CHARSET3',
 
 bld.SAMBA3_SUBSYSTEM('errors3',
                      source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
-                     deps='errors')
+                     deps='errors gssapi')
 
 bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
                     source=LIBCLI_SAMR_SRC,
@@ -1232,21 +1217,21 @@ bld.SAMBA3_BINARY('smbcontrol',
 bld.SAMBA3_BINARY('smbtree',
                  source=SMBTREE_SRC,
                  deps='''talloc tdb_compat tevent cap wbclient param smbd_shim
-                 libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb SMBLDAP LIBMSRPC_GEN msrpc3 PROFILE
+                 libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 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 SMBLDAP LIBMSRPC_GEN msrpc3 PASSWD_UTIL
+                 libsmb LIBSMB_ERR popt_samba3 KRBCLIENT pdb LIBMSRPC_GEN msrpc3 PASSWD_UTIL
                  LIBCLI_SAMR INIT_LSA 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 SMBLDAP
+                 LIBNTLMSSP LIBSMB_ERR popt_samba3 pdb
                  PASSWD_UTIL cli-ldap-common''',
                  vars=locals())
 
@@ -1290,14 +1275,14 @@ bld.SAMBA3_BINARY('msgtest',
 bld.SAMBA3_BINARY('smbcacls',
                  source=SMBCACLS_SRC,
                  deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT
-                 smbd_shim pdb popt_samba3 SMBLDAP LIBMSRPC_GEN
+                 smbd_shim pdb popt_samba3 LIBMSRPC_GEN
                  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 SMBLDAP LIBMSRPC_GEN msrpc3
+                 popt_samba3 pdb LIBMSRPC_GEN msrpc3
                  libcli_lsa3''',
                  vars=locals())
 
@@ -1321,7 +1306,7 @@ bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
 bld.SAMBA3_BINARY('pdbtest',
                  source=PDBTEST_SRC,
                  deps='''talloc tdb_compat cap wbclient param libsmb KRBCLIENT smbd_shim pdb
-                 SMBLDAP popt_samba3 NDR_SAMR NDR_LSA''',
+                 popt_samba3 NDR_SAMR NDR_LSA''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('vfstest',
@@ -1361,18 +1346,11 @@ bld.SAMBA3_BINARY('versiontest',
                  deps='SAMBA_VERSION samba3core param',
                  vars=locals())
 
-bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
-                 source=WBINFO_SRC,
-                 deps='''talloc wbclient tevent cap
-                 asn1util LIBTSOCKET pdb ldap param smbd_shim
-                 LIBNTLMSSP popt_samba3 LIBAFS_SETTOKEN''',
-                 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 SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
+                 pdb winbind-client LIBINIPARSER LIBADS_SERVER
                  NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
                  vars=locals())
 
@@ -1418,60 +1396,8 @@ 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.
-# these rules allow us to have a common set of waf rules for toplevel and source3
-# builds. Effectively these are build rule aliases
-
-if not bld.env.toplevel_build:
-    bld.SAMBA3_SUBSYSTEM('POPT_SAMBA', source='', deps='popt_samba3')
-    bld.SAMBA3_SUBSYSTEM('ldb3',
-                        source='lib/ldb_compat.c',
-                        deps='samba-util')
-    bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
-    bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='tevent-util')
-    bld.SAMBA3_SUBSYSTEM('cli-ldap', '', deps='tevent-util')
-    bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX', '')
-
 ########################## INCLUDES #################################
 
-bld.RECURSE('../lib/util/charset')
-bld.RECURSE('../auth')
-bld.RECURSE('../auth/kerberos')
-bld.RECURSE('../lib/addns')
-bld.RECURSE('../lib/async_req')
-bld.RECURSE('../lib/ccan')
-bld.RECURSE('../lib/socket')
-bld.RECURSE('../lib/param')
-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')
-bld.RECURSE('../libcli/security')
-bld.RECURSE('../libcli/smb')
-bld.RECURSE('../libcli/util')
-bld.RECURSE('../libcli/smbreadline')
-bld.RECURSE('../libcli/nbt')
-bld.RECURSE('../libcli/registry')
-bld.RECURSE('../lib/crypto')
-bld.RECURSE('../lib/iniparser/src')
-bld.RECURSE('../lib/nss_wrapper')
-bld.RECURSE('../lib/popt')
-bld.RECURSE('../librpc')
-bld.RECURSE('../lib/smbconf')
-bld.RECURSE('../lib/socket_wrapper')
-bld.RECURSE('../lib/uid_wrapper')
-bld.RECURSE('../lib/talloc')
-bld.RECURSE('../lib/tdb_compat')
-bld.RECURSE('../lib/util')
-bld.RECURSE('../lib/tevent')
-bld.RECURSE('../lib/tsocket')
-bld.RECURSE('../lib/zlib')
-bld.RECURSE('../libds/common')
-bld.RECURSE('../nsswitch')
-bld.RECURSE('../nsswitch/libwbclient')
 bld.RECURSE('auth')
 bld.RECURSE('libgpo/gpext')
 bld.RECURSE('lib/pthreadpool')
@@ -1482,7 +1408,11 @@ bld.RECURSE('pam_smbpass')
 bld.RECURSE('passdb')
 bld.RECURSE('rpc_server')
 bld.RECURSE('winbindd')
-
+bld.RECURSE('../examples/auth')
+bld.RECURSE('../examples/libsmbclient')
+bld.RECURSE('../examples/pdb')
+bld.RECURSE('../examples/VFS')
+bld.RECURSE('lib/netapi/tests')
 
 bld.ENFORCE_GROUP_ORDERING()
 bld.CHECK_PROJECT_RULES()