mirror of
https://github.com/samba-team/samba.git
synced 2024-12-25 23:21:54 +03:00
d6cb4feae1
Use printcap IDL for marshalling and unmarshalling messages between cups child and parent smbd processes. This simplifies the IPC and ensures the parent is notified of cups errors encountered by the child. https://bugzilla.samba.org/show_bug.cgi?id=7994 Signed-off-by: Andreas Schneider <asn@samba.org>
1388 lines
50 KiB
Python
1388 lines
50 KiB
Python
#!/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
|
|
lib/dbwrap_rbt.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}'''
|
|
|
|
LIBNDR_SRC = '''librpc/ndr/util.c'''
|
|
|
|
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'''
|
|
|
|
PTHREADPOOL_SRC = ''
|
|
|
|
LIB_SRC = '''
|
|
lib/messages.c lib/messages_local.c
|
|
lib/messages_ctdbd.c lib/packet.c lib/ctdbd_conn.c
|
|
lib/interfaces.c lib/memcache.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/fault.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/bitmap.c lib/dprintf.c
|
|
lib/wins_srv.c
|
|
lib/clobber.c lib/util_sid.c
|
|
lib/util_file.c
|
|
lib/util.c lib/util_names.c
|
|
lib/util_sock.c lib/sock_exec.c lib/util_sec.c
|
|
lib/substitute.c lib/dbwrap_util.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/adt_tree.c lib/gencache.c
|
|
lib/sessionid_tdb.c
|
|
lib/module.c lib/events.c
|
|
lib/server_contexts.c
|
|
lib/ldap_escape.c
|
|
lib/secdesc.c ${PTHREADPOOL_SRC}
|
|
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'''
|
|
|
|
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/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
|
|
passdb/util_wellknown.c passdb/util_builtin.c passdb/pdb_compat.c
|
|
passdb/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}'''
|
|
#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 = '''smbd/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_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_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_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_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/server_exit.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.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
|
|
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
|
|
${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_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
|
|
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_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()
|
|
|
|
if not bld.env.toplevel_build:
|
|
bld.SAMBA_GENERATOR('smbtorture4',
|
|
source='',
|
|
target='',
|
|
rule='cd ../; make -f Makefile-smbtorture4 bin/smbtorture4',
|
|
always=True)
|
|
|
|
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 #################################
|
|
|
|
bld.SAMBA3_LIBRARY('netapi',
|
|
source=LIBNETAPI_SRC,
|
|
public_deps='''talloc tdb cap wbclient LIB_NONSMBD LIBSMB KRBCLIENT
|
|
passdb SMBLDAP PARAM_WITHOUT_REG DYNCONFIG
|
|
LIBMSRPC_GEN msrpc3 ads LIBNET DCUTIL NDR_LIBNETAPI
|
|
RPC_CLIENT_SCHANNEL LIB_SMBCONF REG_SMBCONF TOKEN_UTIL
|
|
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON
|
|
RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_INITSHUTDOWN
|
|
INIT_NETLOGON INIT_SAMR''',
|
|
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''',
|
|
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_SUBSYSTEM('msrpc3',
|
|
source='${LIBMSRPC_SRC}',
|
|
deps='''ndr ndr-util NDR_SECURITY NDR_DCERPC NDR_SCHANNEL
|
|
RPC_NDR_EPMAPPER COMMON_SCHANNEL LIBCLI_AUTH
|
|
LIBTSOCKET krb5 rpccommon''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBMSRPC_GEN',
|
|
source='',
|
|
deps='''ndr-standard NDR_DSSETUP NDR_SPOOLSS''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBGPO',
|
|
source='${LIBGPO_SRC}',
|
|
deps='gpext',
|
|
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)
|
|
|
|
bld.SAMBA3_SUBSYSTEM('TLDAP',
|
|
source=TLDAP_SRC,
|
|
deps='ASN1_UTIL LIBTSOCKET')
|
|
|
|
bld.SAMBA3_LIBRARY('passdb',
|
|
source=PASSDB_SRC,
|
|
deps='SECRETS3 SMBLDAP GROUPDB pdb wbclient LIBCLI_AUTH',
|
|
private_library=True,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('PARAM_UTIL',
|
|
source=PARAM_UTIL_SRC)
|
|
|
|
bld.SAMBA3_SUBSYSTEM('PARAM_WITHOUT_REG',
|
|
source=PARAM_WITHOUT_REG_SRC,
|
|
deps='''PARAM_UTIL''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_LIBRARY('param',
|
|
source='',
|
|
deps='PARAM_WITHOUT_REG DYNCONFIG LIB_SMBCONF',
|
|
private_library=True,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('REGFIO',
|
|
source=REGFIO_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
|
|
source=REG_API_REGF_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('REG_BASE',
|
|
source=REG_BASE_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('REG_SMBCONF',
|
|
source=REG_SMBCONF_SRC,
|
|
deps='REG_BASE',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('REG_FULL',
|
|
source=REG_FULL_SRC,
|
|
deps='REG_SMBCONF',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('POPT_SAMBA3',
|
|
source=POPT_LIB_SRC,
|
|
deps='popt',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
|
|
source=KRBCLIENT_SRC,
|
|
public_deps='krb5 k5crypto com_err gssapi gssapi_krb5',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_LIBRARY('samba3core',
|
|
source=LIB_SRC,
|
|
deps='LIBCRYPTO ndr ndr-util security NDR_SECURITY charset NDR_MESSAGING LIBASYNC_REQ tdb-wrap3 samba-util3 CHARSET3 UTIL_TDB SAMBA_VERSION krb5 flag_mapping util_reg',
|
|
private_library=True,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIB_NONSMBD',
|
|
source=LIB_NONSMBD_SRC,
|
|
deps='samba3core',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBSMB_ERR',
|
|
source='',
|
|
deps='errors3 SECRETS3 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_SUBSYSTEM('LIBSMB',
|
|
source=LIBSMB_SRC,
|
|
deps='LIBNTLMSSP CLDAP LIBNMB LIBNBT LIBDRSUAPI SPNEGO_PARSE LIBTSOCKET KRBCLIENT',
|
|
vars=locals())
|
|
|
|
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='LIBCLI_LDAP_MESSAGE LIBCLI_LDAP_NDR LIBCLI_CLDAP LIBTSOCKET',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('SECRETS3',
|
|
source=SECRETS_SRC,
|
|
deps='NDR_SECRETS',
|
|
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='LIBCLI_LDAP_NDR krb5',
|
|
private_library=True,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBADS_SERVER',
|
|
source=LIBADS_SERVER_SRC,
|
|
deps='ndr-krb5pac krb5',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBADS_PRINTER',
|
|
source=LIBADS_PRINTER_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBAFS',
|
|
source=AFS_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBAFS_SETTOKEN',
|
|
source=AFS_SETTOKEN_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIB_SMBCONF',
|
|
source=LIB_SMBCONF_SRC,
|
|
deps='LIBSMBCONF REG_BASE REG_SMBCONF',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_LIBRARY('smbd_base',
|
|
source=SMBD_SRC_BASE,
|
|
deps='''tdb tevent dl krb5 ldap gssapi gssapi_krb5
|
|
DYNCONFIG wbclient crypt nsl cups cap resolv z passdb
|
|
PARAM_WITHOUT_REG samba3core LIBSMB POPT_SAMBA3 KRBCLIENT AVAHI
|
|
LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER LIBADS_PRINTER
|
|
vfs vfs_default vfs_posixacl auth rpc LOCKING LIBAFS LIBAFS_SETTOKEN PROFILE
|
|
PRINTING PRINTBACKEND NDR_XATTR NDR_NOTIFY3 REGFIO
|
|
LIB_SMBCONF REG_FULL FNAME_UTIL
|
|
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON LIBCLI_SPOOLSS
|
|
RPC_NDR_SRVSVC NAMED_PIPE_AUTH_TSTREAM INIT_NETLOGON INIT_SAMR
|
|
LIBCLI_SMB_COMMON RPC_SERVER
|
|
''',
|
|
private_library=True,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LOCKING',
|
|
source='${LOCKING_SRC}',
|
|
deps='''tdb talloc''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('PROFILE',
|
|
source='${PROFILE_SRC}',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('PRINTBASE',
|
|
source=PRINTBASE_SRC,
|
|
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,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('FNAME_UTIL',
|
|
source=FNAME_UTIL_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LIBNET',
|
|
source=LIBNET_SRC,
|
|
deps='NDR_LIBNET_JOIN krb5',
|
|
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',
|
|
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,
|
|
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,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('SLCACHE',
|
|
source=SLCACHE_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('DCUTIL',
|
|
source=DCUTIL_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('ndr-util',
|
|
source=LIBNDR_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
|
|
source='lib/util_tdb.c',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('CHARSET3',
|
|
source='''lib/util_str.c lib/util_unistr.c lib/charcnv.c''',
|
|
public_deps='ICONV_WRAPPER CODEPOINTS',
|
|
deps='DYNCONFIG')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('samba-util3',
|
|
source='',
|
|
deps='talloc CHARSET3 samba-util-common')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('ldb3',
|
|
source='lib/ldb_compat.c')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('errors3',
|
|
source='../libcli/util/doserr.c libsmb/nterr.c libsmb/errormap.c libsmb/smberr.c lib/errmap_unix.c')
|
|
|
|
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')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_CLIENT_SCHANNEL',
|
|
source=RPC_CLIENT_SCHANNEL_SRC,
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_SUBSYSTEM('INIT_LSA',
|
|
source='rpc_client/init_lsa.c')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('INIT_NETLOGON',
|
|
source='rpc_client/init_netlogon.c')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('INIT_SAMR',
|
|
source='rpc_client/init_samr.c')
|
|
|
|
########################## 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 resolv wbclient dl
|
|
passdb param ldap LIB_NONSMBD LIBSMB
|
|
POPT_SAMBA3 KRBCLIENT NDR_SAMR NDR_LSA''',
|
|
install_path='${SBINDIR}',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('winbindd/winbindd',
|
|
source=WINBINDD_SRC,
|
|
deps='''talloc tdb tevent cap dl z
|
|
wbclient passdb ldap resolv param LIB_NONSMBD LIBSMB
|
|
POPT_SAMBA3 KRBCLIENT LIBMSRPC_GEN msrpc3 ads LIBADS_SERVER
|
|
SRV_NDR_WBINT RPC_NDR_WBINT LIBAFS
|
|
LIBAFS_SETTOKEN PROFILE SLCACHE DCUTIL idmap nss_info
|
|
TOKEN_UTIL
|
|
LIBCLI_SAMR LIBCLI_LSA3 LIBRPCCLI_NETLOGON
|
|
RPC_NDR_DSSETUP NAMED_PIPE_AUTH_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 resolv passdb POPT_SAMBA3 KRBCLIENT cups
|
|
LIBMSRPC_GEN msrpc3 LOCKING PLAINTEXT_AUTH PRINTBASE PRINTING FNAME_UTIL
|
|
LIBCLI_SAMR INIT_LSA PASSCHANGE''',
|
|
enabled=bld.env.build_swat,
|
|
install_path='${SBINDIR}',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('rpcclient/rpcclient',
|
|
source=RPCCLIENT_SRC,
|
|
deps='''talloc tdb cap resolv POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
|
|
PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN 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 resolv POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
|
|
PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN
|
|
msrpc3 SMBREADLINE libsmb/smbclient RPC_NDR_SRVSVC INIT_LSA''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('net',
|
|
source=NET_SRC,
|
|
deps='''talloc tdb netapi addns cap resolv intl POPT_SAMBA3 passdb LIBSMB LIB_NONSMBD
|
|
PARAM_WITHOUT_REG wbclient param KRBCLIENT LIBMSRPC_GEN msrpc3 LIBGPO ads LIBADS_SERVER LIBADS_PRINTER
|
|
LOCALE_DIR LIBAFS LIBAFS_SETTOKEN SMBREADLINE PASSWD_UTIL LIBNET
|
|
LIBNET_DSSYNC LIBNET_SAMSYNC LIBEVENTLOG DCUTIL
|
|
REGFIO NDR_NTPRINTING RPC_NDR_WINREG
|
|
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 resolv cap wbclient POPT_SAMBA3 param LIBSMB LIB_NONSMBD samba3core
|
|
KRBCLIENT ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('testparm',
|
|
source=TESTPARM_SRC,
|
|
deps='''talloc tevent ldap cap
|
|
wbclient ASN1_UTIL LIBTSOCKET passdb param LIB_NONSMBD
|
|
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 resolv 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 resolv 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 resolv wbclient param LIB_NONSMBD
|
|
LIBNTLMSSP LIBSMB_ERR POPT_SAMBA3 passdb SMBLDAP
|
|
PASSWD_UTIL LIBCLI_LDAP_NDR''',
|
|
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 resolv param LIB_NONSMBD POPT_SAMBA3 LIBSMB_ERR LIBNMB''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('smbtorture' + bld.env.suffix3,
|
|
source=SMBTORTURE_SRC,
|
|
deps='''talloc tdb tevent cap resolv wbclient param LIBSMB KRBCLIENT TLDAP
|
|
LIB_NONSMBD POPT_SAMBA3 ASN1_UTIL LIBTSOCKET NDR_LSA msrpc3 LIBMSRPC_GEN RPC_NDR_ECHO WB_REQTRANS''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('smbconftort',
|
|
source=SMBCONFTORT_SRC,
|
|
deps='''talloc tdb tevent cap resolv wbclient param LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('replacetort',
|
|
source='../lib/replace/test/main.c',
|
|
deps='replace replace-test',
|
|
install=False)
|
|
|
|
bld.SAMBA3_BINARY('masktest' + bld.env.suffix3,
|
|
source=MASKTEST_SRC,
|
|
deps='''talloc tdb cap resolv wbclient param LIB_NONSMBD LIBSMB KRBCLIENT
|
|
ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('msgtest',
|
|
source=MSGTEST_SRC,
|
|
deps='''talloc tdb tevent cap resolv param LIBSMB_ERR LIB_NONSMBD''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('smbcacls',
|
|
source=SMBCACLS_SRC,
|
|
deps='''talloc tdb cap resolv 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 resolv 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 resolv wbclient param LIB_NONSMBD LIBSMB_ERR POPT_SAMBA3''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('locktest' + bld.env.suffix3,
|
|
source=LOCKTEST_SRC,
|
|
deps='''talloc tdb tevent cap resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
|
|
ASN1_UTIL LIBTSOCKET NDR_SAMR NDR_LSA LOCKING FNAME_UTIL''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('pdbtest',
|
|
source=PDBTEST_SRC,
|
|
deps='''talloc tdb cap resolv wbclient param LIBSMB KRBCLIENT LIB_NONSMBD passdb
|
|
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 resolv wbclient param KRBCLIENT LIBSMB LIB_NONSMBD
|
|
ASN1_UTIL 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 resolv wbclient param LIBSMB LIB_NONSMBD KRBCLIENT ASN1_UTIL LIBTSOCKET
|
|
NDR_SAMR NDR_LSA''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('versiontest',
|
|
source='lib/version_test.c',
|
|
deps='SAMBA_VERSION',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('wbinfo' + bld.env.suffix3,
|
|
source=WBINFO_SRC,
|
|
deps='''talloc wbclient tevent cap
|
|
ASN1_UTIL 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 resolv krb5 k5crypto com_err wbclient param LIB_NONSMBD
|
|
samba3core LIBNTLMSSP POPT_SAMBA3 ASN1_UTIL LIBTSOCKET
|
|
passdb SMBLDAP winbind-client LIBINIPARSER LIBADS_SERVER
|
|
NDR_SAMR NDR_LSA NDR_NETLOGON LIBCLI_LDAP_NDR 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 resolv cap wbclient KRBCLIENT param samba3core LIBSMB LIB_NONSMBD
|
|
LIBSMB_ERR ASN1_UTIL LIBTSOCKET LIBMSRPC_GEN msrpc3''',
|
|
vars=locals())
|
|
|
|
bld.SAMBA3_BINARY('test_lp_load',
|
|
source=TEST_LP_LOAD_SRC,
|
|
deps='''talloc tdb tevent cap wbclient param LIB_NONSMBD POPT_SAMBA3 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''',
|
|
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('tdb-wrap', source='', deps='tdb-wrap3')
|
|
bld.SAMBA3_SUBSYSTEM('errors', source='', deps='errors3')
|
|
bld.SAMBA3_SUBSYSTEM('samba-util', source='', deps='samba-util3')
|
|
bld.SAMBA3_SUBSYSTEM('CHARSET', source='', deps='CHARSET3')
|
|
bld.SAMBA3_SUBSYSTEM('ldb', source='', deps='ldb3')
|
|
bld.SAMBA3_SUBSYSTEM('dcerpc', '', deps='UTIL_TEVENT')
|
|
bld.SAMBA3_SUBSYSTEM('cli-ldap', '', deps='UTIL_TEVENT')
|
|
else:
|
|
|
|
# dynconfig provides this in the toplevel build
|
|
bld.SAMBA3_SUBSYSTEM('LOCALE_DIR',
|
|
'localedir.c',
|
|
cflags='-DLOCALEDIR=\"%s\"' % bld.env.LOCALEDIR)
|
|
|
|
# point the s3 rules at in-tree heimdal
|
|
bld.SAMBA3_SUBSYSTEM('gssapi_krb5',
|
|
source='',
|
|
deps='gssapi krb5')
|
|
bld.SAMBA3_SUBSYSTEM('k5crypto',
|
|
source='',
|
|
deps='krb5')
|
|
|
|
|
|
|
|
|
|
########################## INCLUDES #################################
|
|
|
|
bld.RECURSE('../lib/util/charset')
|
|
bld.RECURSE('../auth')
|
|
bld.RECURSE('../lib/addns')
|
|
bld.RECURSE('../lib/async_req')
|
|
bld.RECURSE('../libcli/auth')
|
|
bld.RECURSE('../libcli/drsuapi')
|
|
bld.RECURSE('../libcli/ldap')
|
|
bld.RECURSE('../libcli/cldap')
|
|
bld.RECURSE('../libcli/named_pipe_auth')
|
|
bld.RECURSE('../libcli/netlogon')
|
|
bld.RECURSE('../libcli/samsync')
|
|
bld.RECURSE('../libcli/security')
|
|
bld.RECURSE('../libcli/smb')
|
|
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('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()
|