1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/source3/wscript_build
Andrew Bartlett 018f4a5889 libcli/util Bring samba4 unix -> nt_status code in common.
Due to library link orders, this is already the function that is being
used.  However we still need to sort out the duplicate symbol issues,
probably by renaming things.

Andrew Bartlett
2011-06-20 14:36:06 +10:00

1475 lines
54 KiB
Python
Executable File

#!/usr/bin/env python
from samba_utils import *
import samba_version, samba3
# enable building of public headers in the build tree
bld.env.build_public_headers = 'include/public'
# these are includes which appear in public headers, but with #ifdef conditional
# compilation, so they are safe
bld.env.public_headers_skip = ['lib/ldb_compat.h']
# s3 public headers refer to non-public headers
bld.env.public_headers_allow_broken = True
TDB_LIB_SRC = '''
lib/dbwrap.c lib/dbwrap_tdb.c
lib/dbwrap_ctdb.c
lib/g_lock.c'''
TDB_VALIDATE_SRC = '''lib/tdb_validate.c'''
SMBLDAP_SRC = '''lib/smbldap.c lib/smbldap_util.c'''
VERSION_SRC = '''lib/version.c'''
AFS_SRC = 'lib/afs.c'
AFS_SETTOKEN_SRC = 'lib/afs_settoken.c'
AVAHI_SRC = 'lib/avahi.c smbd/avahi_register.c'
SERVER_MUTEX_SRC = 'lib/server_mutex.c'
PASSCHANGE_SRC = '''libsmb/passchange.c'''
COMPRESSION_SRC = '../lib/compression/mszip.c'
DRSUAPI_SRC = '''${COMPRESSION_SRC}'''
LIBCLI_SPOOLSS_SRC = '''rpc_client/cli_spoolss.c
rpc_client/init_spoolss.c'''
LIBCLI_LSA_SRC = '''rpc_client/cli_lsarpc.c'''
LIBCLI_SAMR_SRC = 'rpc_client/cli_samr.c'
LIBRPCCLI_NETLOGON_SRC = 'rpc_client/cli_netlogon.c rpc_client/util_netlogon.c'
LIBCLI_WINREG_SRC = '''rpc_client/cli_winreg.c
rpc_client/cli_winreg_int.c'''
# this includes only the low level parse code, not stuff
# that requires knowledge of security contexts
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/talloc_dict.c
lib/util_sconn.c
lib/serverid.c
lib/util_transfer_file.c
lib/addrchange.c
${TDB_LIB_SRC}
../lib/util/debug_s3.c
lib/dumpcore.c
lib/interface.c lib/pidfile.c
lib/system.c lib/sendfile.c lib/recvfile.c lib/time.c
lib/username.c
lib/access.c lib/smbrun.c
lib/dprintf.c
lib/wins_srv.c
lib/util_sid.c
lib/util_file.c
lib/util.c lib/util_cmdline.c
lib/util_sock.c lib/sock_exec.c
lib/substitute.c lib/substitute_generic.c
lib/ms_fnmatch.c
lib/tallocmsg.c lib/dmallocmsg.c
libsmb/clisigning.c libsmb/smb_signing.c
intl/lang_tdb.c
lib/conn_tdb.c lib/gencache.c
lib/sessionid_tdb.c
lib/module.c lib/events.c
lib/server_contexts.c
lib/ldap_escape.c
lib/fncall.c
libads/krb5_errs.c lib/system_smbd.c lib/audit.c
lib/file_id.c lib/idmap_cache.c'''
LIB_DUMMY_SRC = '''lib/dummysmbd.c lib/dummyroot.c'''
LIB_NONSMBD_SRC = '''${LIB_DUMMY_SRC}'''
POPT_LIB_SRC = '''lib/popt_common.c'''
PARAM_UTIL_SRC = '''param/util.c'''
PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/loadparm_server_role.c
lib/sharesec.c lib/ldap_debug_handler.c lib/util_names.c'''
KRBCLIENT_SRC = '''libads/kerberos.c libads/ads_status.c libsmb/clikrb5.c'''
LIBGPO_SRC0 = '''../libgpo/gpo_ldap.c ../libgpo/gpo_ini.c ../libgpo/gpo_util.c
../libgpo/gpo_fetch.c libgpo/gpo_filesync.c ../libgpo/gpo_sec.c
libgpo/gpo_reg.c'''
LIBGPO_SRC = '''${LIBGPO_SRC0}'''
LIBADS_SRC = '''libads/ldap.c
libads/sasl.c libads/sasl_wrapping.c
libads/krb5_setpw.c
libads/kerberos_util.c
libads/ldap_user.c
libads/ads_struct.c libads/kerberos_keytab.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_PRINTER_SRC = '''libads/ldap_printer.c'''
SECRETS_SRC = '''passdb/secrets.c passdb/machine_account_secrets.c
passdb/machine_sid.c'''
LIBNMB_SRC = '''libsmb/unexpected.c libsmb/namecache.c libsmb/nmblib.c
libsmb/namequery.c libsmb/conncache.c
libads/dns.c libads/sitename_cache.c'''
LIBNTLMSSP_SRC = '''
libsmb/ntlmssp.c
libsmb/ntlmssp_wrap.c'''
TLDAP_SRC = '''lib/tldap.c lib/tldap_util.c lib/util_tsock.c'''
LIBSMB_SRC = '''libsmb/clientgen.c libsmb/cliconnect.c libsmb/clifile.c
libsmb/clispnego.c
libsmb/clirap.c libsmb/clierror.c libsmb/climessage.c
libsmb/clireadwrite.c libsmb/clilist.c libsmb/cliprint.c
libsmb/clitrans.c libsmb/clisecdesc.c libsmb/clidgram.c
libsmb/clistr.c libsmb/cliquota.c libsmb/clifsinfo.c libsmb/clidfs.c
libsmb/clioplock.c libsmb/clirap2.c
libsmb/smb_seal.c libsmb/async_smb.c libsmb/read_smb.c
libsmb/cli_np_tstream.c
libsmb/smbsock_connect.c'''
LIBMSRPC_SRC = '''
rpc_client/cli_pipe.c
librpc/crypto/gse_krb5.c
librpc/crypto/gse.c
librpc/crypto/cli_spnego.c
librpc/rpc/rpc_common.c
rpc_client/rpc_transport_np.c
rpc_client/rpc_transport_sock.c
rpc_client/rpc_transport_tstream.c
librpc/rpc/dcerpc_helpers.c
'''
#
# registry-related objects
#
REG_INIT_BASIC_SRC = '''registry/reg_init_basic.c'''
REG_INIT_SMBCONF_SRC = '''registry/reg_init_smbconf.c'''
REG_INIT_FULL_SRC = '''registry/reg_init_full.c'''
REGFIO_SRC = '''registry/regfio.c ${REG_PARSE_PRS_SRC}'''
REG_API_REGF_SRC = '''registry/reg_api_regf.c'''
REGSRCS_SRC = '''registry/reg_objects.c'''
REG_BACKENDS_BASE_SRC = '''registry/reg_backend_db.c'''
REG_BACKENDS_SMBCONF_SRC = '''registry/reg_backend_smbconf.c'''
REG_BACKENDS_EXTRA_SRC = '''registry/reg_backend_printing.c
registry/reg_backend_shares.c
registry/reg_backend_netlogon_params.c
registry/reg_backend_prod_options.c
registry/reg_backend_tcpip_params.c
registry/reg_backend_hkpt_params.c
registry/reg_backend_current_version.c
registry/reg_backend_perflib.c'''
REG_BASE_SRC = '''registry/reg_api.c
registry/reg_dispatcher.c
registry/reg_cachehook.c
${REGSRCS_SRC}
registry/reg_util_internal.c
lib/util_nttoken.c
${REG_BACKENDS_BASE_SRC}
${REG_INIT_BASIC_SRC}'''
REG_SMBCONF_SRC = '''
${REG_BACKENDS_SMBCONF_SRC}
${REG_INIT_SMBCONF_SRC}
registry/reg_util_token.c
registry/reg_api_util.c'''
REG_FULL_SRC = '''
${REG_BACKENDS_EXTRA_SRC}
${REG_INIT_FULL_SRC}
registry/reg_perfcount.c'''
SERVICES_SRC = '''services/svc_spoolss.c
services/svc_rcinit.c
services/svc_winreg_glue.c
services/svc_netlogon.c
services/svc_winreg.c
services/svc_wins.c'''
LIB_EVENTLOG_SRC = '''lib/eventlog/eventlog.c'''
RPC_CLIENT_SCHANNEL_SRC = '''rpc_client/cli_pipe_schannel.c'''
LOCKING_SRC = '''locking/locking.c locking/brlock.c locking/posix.c'''
PRIVILEGES_SRC = '''lib/privileges.c'''
PASSDB_GET_SET_SRC = '''passdb/pdb_get_set.c'''
PASSDB_SRC = '''${PASSDB_GET_SET_SRC} passdb/passdb.c
lib/util_wellknown.c lib/util_builtin.c passdb/pdb_compat.c
lib/util_unixsids.c passdb/lookup_sid.c
passdb/login_cache.c
passdb/account_pol.c ${PRIVILEGES_SRC}
lib/util_nscd.c lib/winbind_util.c ${SERVER_MUTEX_SRC}
passdb/pdb_util.c'''
#FIXME: lib/winbind_util.c probably is not part of PASSDB_SRC
GROUPDB_SRC = '''groupdb/mapping.c groupdb/mapping_tdb.c'''
PROFILE_SRC = '''profile/profile.c'''
PROFILES_SRC = '''utils/profiles.c'''
OPLOCK_SRC = '''smbd/oplock.c smbd/oplock_irix.c smbd/oplock_linux.c
smbd/oplock_onefs.c'''
NOTIFY_SRC = '''smbd/notify.c smbd/notify_inotify.c smbd/notify_internal.c'''
FNAME_UTIL_SRC = '''lib/filename_util.c'''
PLAINTEXT_AUTH_SRC = '''auth/pampass.c auth/pass_check.c'''
SLCACHE_SRC = '''libsmb/samlogon_cache.c'''
DCUTIL_SRC = '''libsmb/namequery_dc.c libsmb/trustdom_cache.c libsmb/trusts_util.c libsmb/dsgetdcname.c'''
WINBINDD_SRC1 = '''winbindd/winbindd.c
winbindd/winbindd_group.c
winbindd/winbindd_util.c
winbindd/winbindd_cache.c
winbindd/winbindd_pam.c
winbindd/winbindd_misc.c
winbindd/winbindd_cm.c
winbindd/winbindd_wins.c
winbindd/winbindd_wins_byip.c
winbindd/winbindd_msrpc.c
winbindd/winbindd_rpc.c
winbindd/winbindd_reconnect.c
winbindd/winbindd_ads.c
winbindd/winbindd_samr.c
winbindd/winbindd_dual.c
winbindd/winbindd_dual_ndr.c
winbindd/winbindd_dual_srv.c
winbindd/winbindd_async.c
winbindd/winbindd_creds.c
winbindd/winbindd_cred_cache.c
winbindd/winbindd_ccache_access.c
winbindd/winbindd_domain.c
winbindd/winbindd_idmap.c
winbindd/winbindd_locator.c
winbindd/winbindd_ndr.c
winbindd/wb_ping.c
winbindd/wb_lookupsid.c
winbindd/wb_lookupsids.c
winbindd/wb_lookupname.c
winbindd/wb_sid2uid.c
winbindd/wb_sid2gid.c
winbindd/wb_uid2sid.c
winbindd/wb_gid2sid.c
winbindd/wb_queryuser.c
winbindd/wb_lookupuseraliases.c
winbindd/wb_lookupusergroups.c
winbindd/wb_getpwsid.c
winbindd/wb_gettoken.c
winbindd/wb_seqnum.c
winbindd/wb_seqnums.c
winbindd/wb_group_members.c
winbindd/wb_getgrsid.c
winbindd/wb_query_user_list.c
winbindd/wb_fill_pwent.c
winbindd/wb_next_pwent.c
winbindd/wb_next_grent.c
winbindd/wb_dsgetdcname.c
winbindd/winbindd_lookupsid.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_allocate_uid.c
winbindd/winbindd_allocate_gid.c
winbindd/winbindd_getpwsid.c
winbindd/winbindd_getpwnam.c
winbindd/winbindd_getpwuid.c
winbindd/winbindd_getsidaliases.c
winbindd/winbindd_getuserdomgroups.c
winbindd/winbindd_getgroups.c
winbindd/winbindd_show_sequence.c
winbindd/winbindd_getgrgid.c
winbindd/winbindd_getgrnam.c
winbindd/winbindd_getusersids.c
winbindd/winbindd_lookuprids.c
winbindd/winbindd_setpwent.c
winbindd/winbindd_getpwent.c
winbindd/winbindd_endpwent.c
winbindd/winbindd_setgrent.c
winbindd/winbindd_getgrent.c
winbindd/winbindd_endgrent.c
winbindd/winbindd_dsgetdcname.c
winbindd/winbindd_getdcname.c
winbindd/winbindd_list_users.c
winbindd/winbindd_list_groups.c
winbindd/winbindd_check_machine_acct.c
winbindd/winbindd_change_machine_acct.c
winbindd/winbindd_ping_dc.c
winbindd/winbindd_pam_auth.c
winbindd/winbindd_pam_logoff.c
winbindd/winbindd_pam_chauthtok.c
winbindd/winbindd_pam_auth_crap.c
winbindd/winbindd_pam_chng_pswd_auth_crap.c'''
WINBINDD_SRC = '''${WINBINDD_SRC1}
${TDB_VALIDATE_SRC}'''
MANGLE_SRC = '''smbd/mangle.c smbd/mangle_hash.c smbd/mangle_hash2.c'''
SMBD_SRC_MAIN = '''smbd/server.c smbd/msg_idmap.c'''
BUILDOPT_SRC = '''smbd/build_options.c'''
SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
smbd/utmp.c smbd/session.c
smbd/dfree.c smbd/dir.c smbd/password.c smbd/conn_msg.c
smbd/conn_idle.c
smbd/share_access.c smbd/fileio.c
smbd/ipc.c smbd/lanman.c smbd/negprot.c
smbd/message.c smbd/nttrans.c smbd/pipes.c
smbd/reply.c smbd/sesssetup.c smbd/trans2.c smbd/uid.c
smbd/dosmode.c smbd/filename.c smbd/open.c smbd/close.c
smbd/blocking.c smbd/sec_ctx.c smbd/srvstr.c
smbd/vfs.c smbd/perfcount.c smbd/statcache.c smbd/seal.c
smbd/posix_acls.c lib/sysacls.c
smbd/process.c smbd/service.c smbd/error.c
printing/printspoolss.c printing/spoolssd.c
lib/sysquotas.c lib/sysquotas_linux.c
lib/sysquotas_xfs.c lib/sysquotas_4A.c
lib/sysquotas_nfs.c
smbd/fake_file.c
smbd/quotas.c smbd/ntquotas.c smbd/msdfs.c
smbd/aio.c smbd/statvfs.c
smbd/dmapi.c smbd/signing.c
smbd/file_access.c
smbd/dnsregister.c smbd/globals.c
smbd/smb2_server.c
smbd/smb2_signing.c
smbd/smb2_glue.c
smbd/smb2_negprot.c
smbd/smb2_sesssetup.c
smbd/smb2_tcon.c
smbd/smb2_create.c
smbd/smb2_close.c
smbd/smb2_flush.c
smbd/smb2_read.c
smbd/smb2_write.c
smbd/smb2_lock.c
smbd/smb2_ioctl.c
smbd/smb2_keepalive.c
smbd/smb2_find.c
smbd/smb2_notify.c
smbd/smb2_getinfo.c
smbd/smb2_setinfo.c
smbd/smb2_break.c
smbd/server_exit.c
${MANGLE_SRC}'''
SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
${OPLOCK_SRC} ${NOTIFY_SRC}
${BUILDOPT_SRC}'''
PRINTING_SRC = '''printing/pcap.c printing/print_svid.c printing/print_aix.c
printing/print_cups.c printing/print_generic.c
printing/lpq_parse.c printing/load.c printing/print_standard.c
printing/print_iprint.c printing/printer_list.c'''
PRINTBASE_SRC = '''printing/notify.c printing/printing_db.c'''
PRINTBACKEND_SRC = '''printing/printing.c
printing/nt_printing.c
printing/nt_printing_tdb.c
printing/nt_printing_migrate.c
printing/nt_printing_ads.c'''
SMBD_SRC = '''${SMBD_SRC_BASE} ${SMBD_SRC_MAIN}'''
NMBD_SRC1 = '''nmbd/asyncdns.c nmbd/nmbd.c nmbd/nmbd_become_dmb.c
nmbd/nmbd_become_lmb.c nmbd/nmbd_browserdb.c
nmbd/nmbd_browsesync.c nmbd/nmbd_elections.c
nmbd/nmbd_incomingdgrams.c nmbd/nmbd_incomingrequests.c
nmbd/nmbd_lmhosts.c nmbd/nmbd_logonnames.c nmbd/nmbd_mynames.c
nmbd/nmbd_namelistdb.c nmbd/nmbd_namequery.c
nmbd/nmbd_nameregister.c nmbd/nmbd_namerelease.c
nmbd/nmbd_nodestatus.c nmbd/nmbd_packets.c
nmbd/nmbd_processlogon.c nmbd/nmbd_responserecordsdb.c
nmbd/nmbd_sendannounce.c nmbd/nmbd_serverlistdb.c
nmbd/nmbd_subnetdb.c nmbd/nmbd_winsproxy.c nmbd/nmbd_winsserver.c
nmbd/nmbd_workgroupdb.c nmbd/nmbd_synclists.c'''
NMBD_SRC = '${NMBD_SRC1}'
SWAT_SRC1 = '''web/cgi.c web/diagnose.c web/startstop.c web/statuspage.c
web/swat.c web/neg_lang.c'''
SWAT_SRC = '''${SWAT_SRC1}'''
STATUS_SRC = '''utils/status.c utils/status_profile.c'''
SMBCONTROL_SRC = '''utils/smbcontrol.c'''
SMBTREE_SRC = '''utils/smbtree.c'''
TESTPARM_SRC = 'utils/testparm.c'
SMBTA_UTIL_SRC = '''utils/smbta-util.c'''
TEST_LP_LOAD_SRC = '''param/test_lp_load.c'''
PASSWD_UTIL_SRC = 'utils/passwd_util.c'
SMBPASSWD_SRC = '''utils/smbpasswd.c'''
PDBEDIT_SRC = '''utils/pdbedit.c'''
SMBGET_SRC = '''utils/smbget.c'''
RPCCLIENT_SRC1 = '''rpcclient/rpcclient.c rpcclient/cmd_lsarpc.c
rpcclient/cmd_samr.c rpcclient/cmd_spoolss.c
rpcclient/cmd_netlogon.c rpcclient/cmd_srvsvc.c
rpcclient/cmd_dfs.c rpcclient/cmd_epmapper.c
rpcclient/cmd_dssetup.c rpcclient/cmd_echo.c
rpcclient/cmd_shutdown.c rpcclient/cmd_test.c
rpcclient/cmd_wkssvc.c rpcclient/cmd_ntsvcs.c
rpcclient/cmd_drsuapi.c rpcclient/cmd_eventlog.c
rpcclient/cmd_winreg.c'''
RPCCLIENT_SRC = '''${RPCCLIENT_SRC1}'''
LIBSMBCLIENT_THREAD_SRC = '''libsmb/libsmb_thread_impl.c
libsmb/libsmb_thread_posix.c'''
LIBSMBCLIENT_SRC0 = '''libsmb/libsmb_cache.c
libsmb/libsmb_compat.c
libsmb/libsmb_context.c
libsmb/libsmb_dir.c
libsmb/libsmb_file.c
libsmb/libsmb_misc.c
libsmb/libsmb_path.c
libsmb/libsmb_printjob.c
libsmb/libsmb_server.c
libsmb/libsmb_stat.c
libsmb/libsmb_xattr.c
libsmb/libsmb_setget.c'''
LIBSMBCLIENT_SRC1 = '''${LIBSMBCLIENT_SRC0}'''
LIBSMBCLIENT_SRC = '${LIBSMBCLIENT_SRC1}'
LIBSMBSHAREMODES_SRC0 = 'libsmb/smb_share_modes.c'
LIBSMBSHAREMODES_SRC = '${LIBSMBSHAREMODES_SRC0}'
LIBNETAPI_SRC0 = '''lib/netapi/netapi.c
lib/netapi/cm.c
lib/netapi/libnetapi.c
lib/netapi/joindomain.c
lib/netapi/serverinfo.c
lib/netapi/getdc.c
lib/netapi/user.c
lib/netapi/group.c
lib/netapi/localgroup.c
lib/netapi/samr.c
lib/netapi/sid.c
lib/netapi/share.c
lib/netapi/file.c
lib/netapi/shutdown.c
lib/netapi/netlogon.c'''
LIBNETAPI_SRC = '''${LIBNETAPI_SRC0}'''
# FIXME: bigballofmud
CLIENT_SRC1 = '''client/client.c client/clitar.c
client/dnsbrowse.c'''
CLIENT_SRC = '''${CLIENT_SRC1}'''
LIB_SMBCONF_SRC = 'lib/smbconf/smbconf_init.c lib/smbconf/smbconf_reg.c'
SMBCONFTORT_SRC0 = 'lib/smbconf/testsuite.c'
SMBCONFTORT_SRC = '''${SMBCONFTORT_SRC0}'''
LIBNET_SRC = 'libnet/libnet_join.c libnet/libnet_keytab.c'
LIBNET_DSSYNC_SRC = '''libnet/libnet_dssync.c
libnet/libnet_dssync_passdb.c
libnet/libnet_dssync_keytab.c'''
LIBNET_SAMSYNC_SRC = '''libnet/libnet_samsync.c
libnet/libnet_samsync_ldif.c
libnet/libnet_samsync_passdb.c
libnet/libnet_samsync_display.c
libnet/libnet_samsync_keytab.c'''
NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
utils/net_rap.c utils/net_rpc.c utils/net_rpc_samsync.c
utils/net_rpc_join.c utils/net_time.c utils/net_lookup.c
utils/net_cache.c utils/net_groupmap.c
utils/net_idmap.c utils/net_idmap_check.c
utils/net_status.c utils/net_rpc_printer.c utils/net_rpc_rights.c
utils/net_rpc_service.c utils/net_rpc_registry.c utils/net_usershare.c
utils/netlookup.c utils/net_sam.c utils/net_rpc_shell.c
utils/net_util.c utils/net_rpc_sh_acct.c utils/net_rpc_audit.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_dom.c utils/net_share.c
utils/net_g_lock.c
utils/net_serverid.c
utils/net_eventlog.c
utils/net_printing.c
utils/net_rpc_trust.c
registry/reg_parse.c registry/reg_format.c
registry/reg_parse_internal.c registry/reg_import.c
lib/cbuf.c lib/srprs.c'''
NET_SRC2 = 'utils/net_registry_util.c utils/net_help_common.c'
NET_SRC = '''${NET_SRC1}
${NET_SRC2}'''
CUPS_SRC = '''client/smbspool.c'''
NMBLOOKUP_SRC = '''utils/nmblookup.c'''
SMBTORTURE_SRC1 = '''torture/torture.c torture/nbio.c torture/scanner.c torture/utable.c
torture/denytest.c torture/mangle_test.c
torture/nbench.c
torture/test_async_echo.c
torture/test_addrchange.c
torture/test_posix_append.c
torture/test_nttrans_create.c
torture/test_case_insensitive.c
torture/test_notify_online.c
torture/test_smbsock_any_connect.c'''
SMBTORTURE_SRC = '''${SMBTORTURE_SRC1}
torture/wbc_async.c'''
MASKTEST_SRC = '''torture/masktest.c'''
MSGTEST_SRC = '''torture/msgtest.c'''
LOCKTEST_SRC = '''torture/locktest.c'''
PDBTEST_SRC = '''torture/pdbtest.c'''
VFSTEST_SRC = '''torture/cmd_vfs.c torture/vfstest.c'''
SMBICONV_SRC = '''torture/smbiconv.c'''
LOG2PCAP_SRC = '''utils/log2pcaphex.c'''
LOCKTEST2_SRC = '''torture/locktest2.c'''
SMBCACLS_SRC = '''utils/smbcacls.c'''
SMBCQUOTAS_SRC = '''utils/smbcquotas.c'''
EVTLOGADM_SRC0 = 'utils/eventlogadm.c'
EVTLOGADM_SRC = '''${EVTLOGADM_SRC0}'''
SHARESEC_SRC0 = 'utils/sharesec.c'
SHARESEC_SRC = '''${SHARESEC_SRC0}'''
DEBUG2HTML_SRC = '''utils/debug2html.c utils/debugparse.c'''
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}'''
VLP_SRC = '''printing/tests/vlp.c'''
RPC_OPEN_TCP_SRC = 'torture/rpc_open_tcp.c'
DBWRAP_TOOL_SRC = 'utils/dbwrap_tool.c'
DBWRAP_TORTURE_SRC = 'utils/dbwrap_torture.c'
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"
bld.SAMBA_GENERATOR('build_options',
source= config_h + ' script/mkbuildoptions-waf.awk',
target='smbd/build_options.c',
rule='${AWK} -f ${SRC[1].abspath(env)} > ${TGT} < ${SRC[0].abspath(env)}')
t = bld.SAMBA_GENERATOR('build_env.h',
source='script/build_env.sh',
target='include/build_env.h',
rule='${SRC} ${SRCDIR} ${BUILDDIR} ${CC} > ${TGT}')
# todo: work out what is really wanted here
t.env.SRCDIR = bld.path.abspath()
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('build')
bld.env.suffix3 = ''
######################## SUBSYSTEMS #################################
# A grouping library to get various helper rpc clients in a library
bld.SAMBA3_LIBRARY('rpc_client',
source='',
deps='RPC_CLIENT_SCHANNEL INIT_LSA INIT_NETLOGON INIT_SAMR LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS LIBCLI_WINREG',
private_library=True,
grouping_library=True)
bld.SAMBA3_LIBRARY('netapi',
source=LIBNETAPI_SRC,
public_deps='''talloc tdb cap wbclient LIB_NONSMBD LIBSMB KRBCLIENT
passdb SMBLDAP PARAM_WITHOUT_REG samba-util
LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
RPC_CLIENT_SCHANNEL smbconf REG_SMBCONF TOKEN_UTIL
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON
RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_INITSHUTDOWN
INIT_NETLOGON INIT_SAMR POPT_SAMBA3''',
public_headers='../source3/lib/netapi/netapi.h',
vnum='0',
vars=locals())
bld.SAMBA3_LIBRARY('libsmb/smbclient',
source=LIBSMBCLIENT_SRC,
public_deps='''talloc tdb wbclient cap param LIB_NONSMBD LIBSMB KRBCLIENT passdb SMBLDAP
LIBMSRPC_GEN msrpc3 LIBCLI_LSA3 RPC_NDR_SRVSVC POPT_SAMBA3''',
public_headers='include/libsmbclient.h',
vnum='0',
vars=locals())
bld.SAMBA3_LIBRARY('smbsharemodes',
source=LIBSMBSHAREMODES_SRC,
public_deps='''talloc tdb''',
public_headers='include/smb_share_modes.h',
vnum='0',
vars=locals())
bld.SAMBA3_LIBRARY('nss_wins',
source=WINBIND_WINS_NSS_SRC,
deps='''winbind-client param LIBSMB LIB_NONSMBD LIBTSOCKET KRBCLIENT
cap wbclient''',
realname='libnss_wins.so.2',
vnum='2')
bld.SAMBA3_LIBRARY('msrpc3',
source='${LIBMSRPC_SRC}',
deps='''ndr ndr-standard
RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH
LIBTSOCKET KRB5_WRAP rpccommon
LIBSMB''',
vars=locals(),
private_library=True)
bld.SAMBA3_SUBSYSTEM('LIBMSRPC_GEN',
source='',
deps='''ndr-standard NDR_DSSETUP NDR_SPOOLSS''',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBGPO',
source='${LIBGPO_SRC}',
deps='gpext talloc',
vars=locals())
bld.SAMBA3_SUBSYSTEM('AVAHI',
source=AVAHI_SRC,
deps='avahi-common avahi-client',
enabled=bld.env.with_avahi)
bld.SAMBA3_SUBSYSTEM('GROUPDB',
source=GROUPDB_SRC,
deps='tdb')
bld.SAMBA3_SUBSYSTEM('TLDAP',
source=TLDAP_SRC,
deps='asn1util LIBTSOCKET')
bld.SAMBA3_LIBRARY('passdb',
source=PASSDB_SRC,
deps='SECRETS3 SMBLDAP GROUPDB pdb wbclient LIBCLI_AUTH flag_mapping',
private_library=True,
allow_undefined_symbols=False,
vars=locals())
bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
source=PARAM_UTIL_SRC,
deps='samba-util-common')
if bld.env.toplevel_build:
bld.SAMBA3_SUBSYSTEM('LOADPARM_CTX',
source='param/loadparm_ctx.c',
deps='''s3_param_h PARAM_WITHOUT_REG''',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PARAM_WITHOUT_REG',
source=PARAM_WITHOUT_REG_SRC,
deps='''PARAM_UTIL smbd_conn ldap lber LOADPARM_CTX''',
vars=locals())
bld.SAMBA3_SUBSYSTEM('param',
source='',
deps='PARAM_WITHOUT_REG samba-util smbconf',
vars=locals())
bld.SAMBA3_SUBSYSTEM('param_service',
source='param/service.c',
deps = 'USER_UTIL param USER_UTIL PRINTING')
bld.SAMBA3_SUBSYSTEM('REGFIO',
source=REGFIO_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
source=REG_API_REGF_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_LIBRARY('smbregistry',
source=REG_BASE_SRC,
deps='''LIB_NONSMBD tdb-wrap3 NDR_SECURITY UTIL_TDB talloc
replace util_reg samba-util-common security
errors3 adt_tree dbwrap_util util_str util_sec''',
vars=locals(),
private_library=True)
bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
source=REG_SMBCONF_SRC,
deps='smbregistry',
vars=locals())
bld.SAMBA3_SUBSYSTEM('REG_FULL',
source=REG_FULL_SRC,
deps='REG_SMBCONF',
vars=locals())
bld.SAMBA3_LIBRARY('POPT_SAMBA3',
source=POPT_LIB_SRC,
deps='popt samba-util-common',
vars=locals(),
private_library=True)
bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
source=KRBCLIENT_SRC,
public_deps='KRB5_WRAP k5crypto',
vars=locals())
bld.SAMBA3_SUBSYSTEM('samba3core',
source=LIB_SRC,
deps='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 SECRETS3 dbwrap_util util_sec util_malloc memcache',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIB_NONSMBD',
source=LIB_NONSMBD_SRC,
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
source='',
deps='errors3 passdb ldap lber MSRPC_PARSE LIBCLI_AUTH rpccommon',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNTLMSSP',
source=LIBNTLMSSP_SRC,
deps='LIBSMB_ERR NDR_NTLMSSP NTLMSSP_COMMON',
vars=locals())
bld.SAMBA3_LIBRARY('LIBSMB',
source=LIBSMB_SRC,
deps='LIBNTLMSSP CLDAP LIBNMB LIBNBT LIBDRSUAPI SPNEGO_PARSE LIBTSOCKET KRBCLIENT LIBCLI_SMB_COMMON',
vars=locals(),
private_library=True)
bld.SAMBA3_SUBSYSTEM('LIBDRSUAPI',
source=DRSUAPI_SRC,
deps='z LZXPRESS NDR_DRSUAPI NDR_DRSBLOBS',
vars=locals())
bld.SAMBA3_SUBSYSTEM('CLDAP',
source='libads/cldap.c',
deps='cli-ldap-common LIBCLI_CLDAP LIBTSOCKET',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SECRETS3',
source=SECRETS_SRC,
deps='NDR_SECRETS param samba3core passdb',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SMBLDAP',
source=SMBLDAP_SRC,
deps='ldap lber',
vars=locals(),
enabled=bld.env.HAVE_LDAP)
bld.SAMBA3_LIBRARY('ads',
source=LIBADS_SRC,
deps='cli-ldap-common KRB5_WRAP ldap lber',
private_library=True,
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
source=LIBADS_SERVER_SRC,
deps='ndr-krb5pac KRB5_WRAP',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
source=LIBADS_PRINTER_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBAFS',
source=AFS_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
source=AFS_SETTOKEN_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_LIBRARY('smbconf',
source=LIB_SMBCONF_SRC,
deps='''LIBSMBCONF smbregistry REG_SMBCONF talloc PARAM_WITHOUT_REG
util_reg samba-util-common errors3 CHARSET SAMBA_VERSION''',
public_headers='../lib/smbconf/smbconf.h',
vnum='0')
bld.SAMBA3_LIBRARY('smbd_conn',
source='smbd/conn.c',
deps='string_init bitmap namearray',
allow_undefined_symbols=False,
private_library=True)
bld.SAMBA3_LIBRARY('smbd_base',
source=SMBD_SRC_BASE,
deps='''tdb tevent dl krb5 ldap gssapi gssapi_krb5
samba-util wbclient crypt nsl cups cap 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_NOTIFY REGFIO
smbconf REG_FULL FNAME_UTIL
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
RPC_NDR_SRVSVC npa_tstream INIT_NETLOGON INIT_SAMR
LIBCLI_SMB_COMMON RPC_SERVER smbd_conn param_service
''',
private_library=True,
allow_undefined_symbols=False,
vars=locals())
bld.SAMBA3_SUBSYSTEM('LOCKING',
source='${LOCKING_SRC}',
deps='''tdb talloc''',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PROFILE',
source='${PROFILE_SRC}',
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PRINTBASE',
source=PRINTBASE_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PRINTBACKEND',
source=PRINTBACKEND_SRC,
deps='PRINTBASE NDR_NTPRINTING LIBADS_PRINTER',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PRINTING',
source=PRINTING_SRC,
deps='NDR_PRINTCAP',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PASSWD_UTIL',
source=PASSWD_UTIL_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
source=FNAME_UTIL_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNET',
source=LIBNET_SRC,
deps='NDR_LIBNET_JOIN KRB5_WRAP',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNET_DSSYNC',
source=LIBNET_DSSYNC_SRC,
deps='LIBNET LIBCLI_DRSUAPI',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNET_SAMSYNC',
source=LIBNET_SAMSYNC_SRC,
deps='LIBNET LIBCLI_SAMSYNC',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBEVENTLOG',
source=LIB_EVENTLOG_SRC,
deps='NDR_EVENTLOG',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNMB',
source=LIBNMB_SRC,
deps='lmhosts resolv',
vars=locals())
bld.SAMBA3_SUBSYSTEM('LIBNBT',
source='',
deps='NDR_SVCCTL NDR_NBT NDR_NBT_BUF LIBCLI_NETLOGON LIBCLI_NDR_NETLOGON',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SERVICES',
source=SERVICES_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PLAINTEXT_AUTH',
source=PLAINTEXT_AUTH_SRC,
deps='pam PAM_ERRORS',
vars=locals())
bld.SAMBA3_SUBSYSTEM('PASSCHANGE',
source=PASSCHANGE_SRC,
deps='LIBCLI_SAMR',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SAMBA_VERSION',
source=VERSION_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('SLCACHE',
source=SLCACHE_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('DCUTIL',
source=DCUTIL_SRC,
deps='ads',
vars=locals())
bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
source='lib/util_tdb.c',
deps='tdb-wrap',
vars=locals())
bld.SAMBA3_LIBRARY('dbwrap_util',
source='lib/dbwrap_util.c lib/dbwrap_rbt.c',
deps='samba-util-common UTIL_TDB errors',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('util_malloc',
source='''lib/util_malloc.c''',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('string_init',
source='''lib/string_init.c''',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('util_str',
source='''lib/util_str.c''',
deps='samba-util-common CHARSET',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('util_sec',
source='''lib/util_sec.c''',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('bitmap',
source='lib/bitmap.c',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('namearray',
source='lib/namearray.c',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('adt_tree',
source='lib/adt_tree.c',
deps='samba-util-common',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('memcache',
source='lib/memcache.c',
deps='samba-util-common util_malloc',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_LIBRARY('CHARSET3',
source='''lib/charcnv.c lib/fstring.c''',
public_deps='ICONV_WRAPPER CHARSET',
deps='samba-util util_str',
private_library=True,
allow_undefined_symbols=False)
bld.SAMBA3_SUBSYSTEM('ldb3',
source='lib/ldb_compat.c',
deps='samba-util-common')
bld.SAMBA3_SUBSYSTEM('errors3',
source='libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c',
deps='errors')
bld.SAMBA3_SUBSYSTEM('LIBCLI_SAMR',
source=LIBCLI_SAMR_SRC,
deps='RPC_NDR_SAMR')
bld.SAMBA3_SUBSYSTEM('LIBCLI_LSA3',
source=LIBCLI_LSA_SRC,
deps='RPC_NDR_LSA INIT_LSA')
bld.SAMBA3_SUBSYSTEM('LIBRPCCLI_NETLOGON',
source=LIBRPCCLI_NETLOGON_SRC,
deps='RPC_NDR_NETLOGON')
bld.SAMBA3_SUBSYSTEM('LIBCLI_SPOOLSS',
source=LIBCLI_SPOOLSS_SRC,
deps='RPC_NDR_SPOOLSS')
bld.SAMBA3_SUBSYSTEM('LIBCLI_WINREG',
source=LIBCLI_WINREG_SRC,
deps='RPC_NDR_WINREG RPC_NCACN_NP')
bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
source=RPC_CLIENT_SCHANNEL_SRC,
deps='samba-util-common',
vars=locals())
bld.SAMBA3_SUBSYSTEM('INIT_LSA',
source='rpc_client/init_lsa.c',
deps='samba-util-common')
bld.SAMBA3_SUBSYSTEM('INIT_NETLOGON',
source='rpc_client/init_netlogon.c',
deps='samba-util-common')
bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
source='rpc_client/init_samr.c',
deps='samba-util-common')
########################## BINARIES #################################
bld.SAMBA3_BINARY('smbd/smbd',
source='${SMBD_SRC_MAIN}',
deps='smbd_base EPMD',
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA3_BINARY('nmbd/nmbd',
source=NMBD_SRC,
deps='''talloc tdb tevent z cap wbclient dl
passdb param ldap LIB_NONSMBD LIBSMB
POPT_SAMBA3 KRBCLIENT NDR_SAMR NDR_LSA PROFILE''',
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA3_BINARY('winbindd/winbindd',
source=WINBINDD_SRC,
deps='''talloc tdb tevent cap dl z
wbclient passdb ldap param LIB_NONSMBD 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 LIBRPCCLI_NETLOGON
RPC_NDR_DSSETUP npa_tstream INIT_NETLOGON
RPC_NCACN_NP RPC_PIPE_REGISTER RPC_SAMR RPC_LSARPC
PAM_ERRORS WB_REQTRANS AUTH_COMMON
''',
enabled=bld.env.build_winbind,
install_path='${SBINDIR}',
vars=locals())
bld.SAMBA3_BINARY('web/swat',
source=SWAT_SRC,
deps='''talloc tevent cap samba3core LIBSMB wbclient param
LIB_NONSMBD 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}',
vars=locals())
bld.SAMBA3_BINARY('rpcclient/rpcclient',
source=RPCCLIENT_SRC,
deps='''talloc tdb cap 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
RPC_NDR_DRSUAPI RPC_NDR_NTSVCS RPC_NDR_EVENTLOG INIT_NETLOGON
INIT_SAMR
''',
vars=locals())
bld.SAMBA3_BINARY('client/smbclient' + bld.env.suffix3,
source=CLIENT_SRC,
deps='''talloc tdb cap POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN
msrpc3 SMBREADLINE libsmb/smbclient RPC_NDR_SRVSVC INIT_LSA
LIBCLI_SMB_COMMON''',
vars=locals())
bld.SAMBA3_BINARY('net',
source=NET_SRC,
deps='''talloc tdb netapi addns cap intl POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 LIBGPO 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 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_SVCCTL RPC_NDR_DSSETUP
RPC_NDR_INITSHUTDOWN RPC_NDR_DRSUAPI INIT_NETLOGON INIT_SAMR
''',
vars=locals())
bld.SAMBA3_BINARY('profiles',
source=PROFILES_SRC,
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 cap wbclient POPT_SAMBA3 param LIBSMB LIB_NONSMBD samba3core
KRBCLIENT asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('testparm',
source=TESTPARM_SRC,
deps='''talloc tevent ldap cap
wbclient asn1util 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
LIBSMB_ERR''',
vars=locals())
bld.SAMBA3_BINARY('smbstatus',
source=STATUS_SRC,
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''',
vars=locals())
bld.SAMBA3_BINARY('smbtree',
source=SMBTREE_SRC,
deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD
LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT passdb SMBLDAP LIBMSRPC_GEN msrpc3 PROFILE
RPC_NDR_SRVSVC''',
vars=locals())
bld.SAMBA3_BINARY('smbpasswd',
source=SMBPASSWD_SRC,
deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD
LIBSMB LIBSMB_ERR POPT_SAMBA3 KRBCLIENT passdb SMBLDAP LIBMSRPC_GEN msrpc3 PASSWD_UTIL
LIBCLI_SAMR INIT_LSA PASSCHANGE''',
vars=locals())
bld.SAMBA3_BINARY('pdbedit',
source=PDBEDIT_SRC,
deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD
LIBNTLMSSP LIBSMB_ERR POPT_SAMBA3 passdb SMBLDAP
PASSWD_UTIL cli-ldap-common''',
vars=locals())
bld.SAMBA3_BINARY('smbget',
source=SMBGET_SRC,
deps='''talloc tdb libsmb/smbclient POPT_SAMBA3''',
vars=locals())
bld.SAMBA3_BINARY('nmblookup' + bld.env.suffix3,
source=NMBLOOKUP_SRC,
deps='''talloc tdb tevent cap 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 wbclient param LIBSMB KRBCLIENT TLDAP
LIB_NONSMBD POPT_SAMBA3 asn1util 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 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 wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
asn1util LIBTSOCKET NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('msgtest',
source=MSGTEST_SRC,
deps='''talloc tdb tevent cap param LIBSMB_ERR LIB_NONSMBD''',
vars=locals())
bld.SAMBA3_BINARY('smbcacls',
source=SMBCACLS_SRC,
deps='''talloc tdb cap wbclient param LIBSMB KRBCLIENT
LIB_NONSMBD passdb POPT_SAMBA3 SMBLDAP LIBMSRPC_GEN
msrpc3 LIBCLI_LSA3''',
vars=locals())
bld.SAMBA3_BINARY('smbcquotas',
source=SMBCQUOTAS_SRC,
deps='''talloc tdb cap wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
POPT_SAMBA3 passdb SMBLDAP LIBMSRPC_GEN msrpc3
LIBCLI_LSA3''',
vars=locals())
bld.SAMBA3_BINARY('eventlogadm',
source=EVTLOGADM_SRC,
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 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 wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
vars=locals())
bld.SAMBA3_BINARY('pdbtest',
source=PDBTEST_SRC,
deps='''talloc tdb cap wbclient param LIBSMB KRBCLIENT LIB_NONSMBD passdb
SMBLDAP POPT_SAMBA3 NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('vfstest',
source=VFSTEST_SRC,
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''',
vars=locals())
bld.SAMBA3_BINARY('log2pcap',
source=LOG2PCAP_SRC,
deps='''talloc popt''',
vars=locals())
bld.SAMBA3_BINARY('locktest2',
source=LOCKTEST2_SRC,
deps='''talloc tdb tevent cap wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
asn1util LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
vars=locals())
bld.SAMBA3_BINARY('debug2html',
source=DEBUG2HTML_SRC,
deps='''talloc popt''',
vars=locals())
bld.SAMBA3_BINARY('smbfilter',
source=SMBFILTER_SRC,
deps='''talloc tevent cap wbclient param LIBSMB LIB_NONSMBD KRBCLIENT asn1util LIBTSOCKET
NDR_SAMR NDR_LSA''',
vars=locals())
bld.SAMBA3_BINARY('versiontest',
source='lib/version_test.c',
deps='SAMBA_VERSION samba3core param',
vars=locals())
bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
source=WBINFO_SRC,
deps='''talloc wbclient tevent cap
asn1util LIBTSOCKET passdb ldap param LIB_NONSMBD
LIBNTLMSSP POPT_SAMBA3 LIBAFS_SETTOKEN''',
vars=locals())
bld.SAMBA3_BINARY('ntlm_auth' + bld.env.suffix3,
source=NTLM_AUTH_SRC,
deps='''tdb talloc cap KRB5_WRAP k5crypto wbclient param LIB_NONSMBD
samba3core LIBNTLMSSP POPT_SAMBA3 asn1util LIBTSOCKET
passdb SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
NDR_SAMR NDR_LSA NDR_NETLOGON cli-ldap-common LIBNMB SLCACHE SPNEGO_PARSE KRBCLIENT''',
vars=locals())
bld.SAMBA3_BINARY('timelimit',
source='script/tests/timelimit.c',
vars=locals())
bld.SAMBA3_BINARY('rpc_open_tcp',
source=RPC_OPEN_TCP_SRC,
deps='''talloc tdb tevent cap wbclient KRBCLIENT param samba3core LIBSMB LIB_NONSMBD
LIBSMB_ERR asn1util 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 LIBNTLMSSP''',
vars=locals())
bld.SAMBA3_BINARY('dbwrap_tool',
source=DBWRAP_TOOL_SRC,
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
POPT_SAMBA3''',
vars=locals())
bld.SAMBA3_BINARY('split_tokens',
source=SPLIT_TOKENS_SRC,
deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD POPT_SAMBA3
LIBNTLMSSP''',
vars=locals())
bld.SAMBA3_BINARY('vlp',
source=VLP_SRC,
deps='''talloc tdb PARAM_UTIL UTIL_TDB samba3core param''',
vars=locals())
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('samba-util', source='', deps='DYNCONFIG')
bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='UTIL_TEVENT')
bld.SAMBA3_SUBSYSTEM('cli-ldap', '', deps='UTIL_TEVENT')
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/socket')
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')
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')
bld.RECURSE('librpc')
bld.RECURSE('librpc/idl')
bld.RECURSE('modules')
bld.RECURSE('pam_smbpass')
bld.RECURSE('passdb')
bld.RECURSE('rpc_server')
bld.RECURSE('winbindd')
bld.ENFORCE_GROUP_ORDERING()
bld.CHECK_PROJECT_RULES()
bld.SYMBOL_CHECK()