TDB_VALIDATE_SRC = '''lib/tdb_validate.c'''
+SMBLDAP = bld.env.SMBLDAP or ""
+SMBLDAPUTIL = bld.env.SMBLDAPUTIL or ""
+
SMBLDAP_SRC = '''${SMBLDAP} ${SMBLDAPUTIL}'''
VERSION_SRC = '''lib/version.c'''
../librpc/ndr/ndr_drsblobs.c
../librpc/gen_ndr/ndr_drsblobs.c'''
-ZLIB_SRC = '''${ZLIB_SRCS}'''
-
-COMPRESSION_SRC = '''../lib/compression/mszip.c
- ../lib/compression/lzxpress.c
- ${ZLIB_SRC}'''
+COMPRESSION_SRC = '../lib/compression/mszip.c ../lib/compression/lzxpress.c'
DRSUAPI_SRC = '''${LIBNDR_DRSUAPI_SRC}
${COMPRESSION_SRC}'''
AUTH_STATIC = ''
-SMBLDAP = ''
-
-SMBLDAPUTIL = ''
-
LIBREPLACE_SRCS = ''
SOCKET_WRAPPER_SRCS = ''
../libcli/security/dom_sid.c ../libcli/security/security_descriptor.c'''
LIB_DUMMY_SRC = '''lib/dummysmbd.c lib/dummyroot.c'''
-LIB_NONSMBD_SRC = '''${LIB_SRC} ${LIB_DUMMY_SRC}'''
+LIB_NONSMBD_SRC = '''${LIB_DUMMY_SRC}'''
READLINE_SRC = '''lib/readline.c'''
PARAM_WITHOUT_REG_SRC = '''param/loadparm.c param/util.c lib/sharesec.c lib/ldap_debug_handler.c'''
PARAM_REG_ADD_SRC = '''${REG_SMBCONF_SRC} ${LIBSMBCONF_SRC} ${PRIVILEGES_BASIC_SRC}'''
-PARAM_SRC = '''${PARAM_WITHOUT_REG_SRC} ${PARAM_REG_ADD_SRC}'''
+PARAM_SRC = '''${PARAM_REG_ADD_SRC}'''
KRBCLIENT_SRC = '''libads/kerberos.c libads/ads_status.c'''
../librpc/ndr/ndr_krb5pac.c
../librpc/gen_ndr/ndr_krb5pac.c'''
-SECRETS_SRC = '''librpc/gen_ndr/ndr_secrets.c'''
-
LIBNBT_SRC = '''../libcli/nbt/nbtname.c
../libcli/netlogon.c
../libcli/ndr_netlogon.c
LIBSMB_ERR_SRC1 = '''../libcli/auth/smbdes.c ../libcli/auth/smbencrypt.c ../libcli/auth/msrpc_parse.c ../libcli/auth/session.c'''
-LIBSMB_ERR_SRC = '''${LIBSMB_ERR_SRC0} ${LIBSMB_ERR_SRC1}
- ${RPC_PARSE_SRC1}
- ${SECRETS_SRC}'''
+LIBSMB_ERR_SRC = '${LIBSMB_ERR_SRC0} ${LIBSMB_ERR_SRC1} ${RPC_PARSE_SRC1}'
LIBSMB_SRC0 = '''
../libcli/auth/ntlm_check.c
${LIBNDR_NTLMSSP_SRC}
../libcli/auth/ntlmssp_ndr.c'''
-LIBSAMBA_SRC = '''${LIBSMB_SRC0}
- ${LIBSMB_ERR_SRC}'''
+LIBSAMBA_SRC = '${LIBSMB_SRC0}'
LIBCLI_LDAP_MESSAGE_SRC = '''../libcli/ldap/ldap_message.c'''
LIBCLI_LDAP_NDR_SRC = '''../libcli/ldap/ldap_ndr.c'''
-LIBTSOCKET_SRC = '''../lib/tsocket/tsocket.c
- ../lib/tsocket/tsocket_helpers.c
- ../lib/tsocket/tsocket_bsd.c'''
-
CLDAP_SRC = '''libads/cldap.c
../libcli/cldap/cldap.c
../lib/util/idtree.c
- ${LIBCLI_LDAP_MESSAGE_SRC} ${LIBCLI_LDAP_NDR_SRC} ${LIBTSOCKET_SRC}'''
+ ${LIBCLI_LDAP_MESSAGE_SRC} ${LIBCLI_LDAP_NDR_SRC}'''
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/clikrb5.c libsmb/clispnego.c
../libcli/auth/spnego_parse.c
- ../lib/util/asn1.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
- ${LIBSAMBA_SRC}
${LIBNMB_SRC}
${LIBNBT_SRC}
${CLDAP_SRC}
PROFILES_SRC = '''utils/profiles.c
${LIBSMB_ERR_SRC}
${PARAM_SRC}
- ${LIB_SRC} ${LIB_DUMMY_SRC}
- ${POPT_LIB_SRC}'''
+ ${LIB_SRC} ${LIB_DUMMY_SRC}'''
OPLOCK_SRC = '''smbd/oplock.c smbd/oplock_irix.c smbd/oplock_linux.c
smbd/oplock_onefs.c'''
winbindd/winbindd_pam_logoff.c
winbindd/winbindd_pam_chauthtok.c
winbindd/winbindd_pam_auth_crap.c
+ winbindd/nss_info_template.c
auth/token_util.c
auth/check_samsec.c
auth/server_info.c
../nsswitch/libwbclient/wb_reqtrans.c'''
WINBINDD_SRC = '''${WINBINDD_SRC1}
- ${PARAM_SRC} ${LIB_NONSMBD_SRC}
- ${LIBSMB_SRC} ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
+ ${LIBMSRPC_SRC} ${LIBMSRPC_GEN_SRC} ${RPC_PARSE_SRC}
${PROFILE_SRC} ${SLCACHE_SRC} ${SMBLDAP_SRC}
- ${LIBADS_SRC} ${KRBCLIENT_SRC} ${POPT_LIB_SRC}
+ ${LIBADS_SRC}
${DCUTIL_SRC} ${IDMAP_SRC} ${NSS_INFO_SRC}
${AFS_SRC} ${AFS_SETTOKEN_SRC}
${LIBADS_SERVER_SRC}
LDB_SRC = '${LDB_COMMON_SRC} ${LDB_TDB_SRC} ${LDB_LDAP_SRC} ${LDB_MODULES_SRC}'
-LDB_CMDLINE_SRC = '''${PARAM_SRC} ${POPT_LIB_SRC} ${LIB_SRC} ${LIB_DUMMY_SRC} ${LIBSMB_ERR_SRC0}
+LDB_CMDLINE_SRC = '''${PARAM_SRC} ${LIB_SRC} ${LIB_DUMMY_SRC} ${LIBSMB_ERR_SRC0}
${LIBSMB_ERR_SRC1} ${RPC_PARSE_SRC1} ${SECRETS_SRC} ${LDB_SRC}
lib/ldb/tools/cmdline.c'''
../libcli/smb/smb2_create_blob.c
${MANGLE_SRC} ${VFS_DEFAULT_SRC}'''
-SMBD_SRC_BASE = '''${PARAM_WITHOUT_REG_SRC} ${SMBD_SRC_SRV}
- ${LIBSMB_SRC} ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
+SMBD_SRC_BASE = '''${SMBD_SRC_SRV}
+ ${RPC_SERVER_SRC} ${RPC_PARSE_SRC}
${LOCKING_SRC} ${PRINTING_SRC}
- ${PROFILE_SRC} ${LIB_SRC} ${PRINTBACKEND_SRC}
+ ${PROFILE_SRC} ${PRINTBACKEND_SRC}
${OPLOCK_SRC} ${NOTIFY_SRC} ${FNAME_UTIL_SRC}
${LIBMSRPC_SRC}
${LIBMSRPC_GEN_SRC} ${AVAHI_SRC} ${LIBADS_SRC}
- ${KRBCLIENT_SRC} ${LIBADS_SERVER_SRC} ${REG_FULL_SRC}
- ${POPT_LIB_SRC} ${BUILDOPT_SRC} ${SMBLDAP_SRC}
+ ${LIBADS_SERVER_SRC} ${REG_FULL_SRC}
+ ${BUILDOPT_SRC} ${SMBLDAP_SRC}
${LIBNET_SRC} ${LIBSMBCONF_SRC}
${RPC_LSA_SRC}
${RPC_NETLOG_SRC} ${RPC_SAMR_SRC}
nmbd/nmbd_subnetdb.c nmbd/nmbd_winsproxy.c nmbd/nmbd_winsserver.c
nmbd/nmbd_workgroupdb.c nmbd/nmbd_synclists.c'''
-NMBD_SRC = '''${NMBD_SRC1} ${PARAM_SRC} ${LIBSMB_SRC} ${KRBCLIENT_SRC}
- ${PROFILE_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
- ${LIBNDR_GEN_SRC0}'''
+NMBD_SRC = '${NMBD_SRC1} ${PROFILE_SRC} ${LIBNDR_GEN_SRC0}'
+
+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} ${PRINTING_SRC} ${PRINTBASE_SRC}
+ ${LOCKING_SRC}
+ ${PLAINTEXT_AUTH_SRC}
+ ${SMBLDAP_SRC} ${RPC_PARSE_SRC} ${LIBMSRPC_GEN_SRC} ${LIBMSRPC_SRC}
+ ${PASSCHANGE_SRC} ${FNAME_UTIL_SRC}'''
+
+WBINFO_SRC = '../nsswitch/wbinfo.c ${AFS_SETTOKEN_SRC}'
-WBINFO_SRC = '''../nsswitch/wbinfo.c ${LIBSAMBA_SRC} ${PARAM_SRC} ${LIB_NONSMBD_SRC}
- ${POPT_LIB_SRC} ${AFS_SETTOKEN_SRC}'''
+TESTPARM_SRC = 'utils/testparm.c'
-TESTPARM_SRC = '''utils/testparm.c
- ${PARAM_SRC} ${LIB_NONSMBD_SRC} ${POPT_LIB_SRC}
- ${LIBSMB_ERR_SRC}'''
+EVTLOGADM_SRC0 = 'utils/eventlogadm.c'
+
+EVTLOGADM_SRC = '''${EVTLOGADM_SRC0}
+ registry/reg_eventlog.c ${LIB_EVENTLOG_SRC}
+ ../librpc/gen_ndr/ndr_eventlog.c
+ ../librpc/gen_ndr/ndr_lsa.c'''
LIBS='ICONV'
../nsswitch/libwbclient/wbc_util.c''',
public_deps='talloc WBCOMMON')
+
bld.SAMBA_SUBSYSTEM('ASN1_UTIL',
source='../lib/util/asn1.c',
deps='talloc',
- includes='../lib/tdb/include',
local_include=False)
bld.SAMBA_SUBSYSTEM('GROUPDB',
- source=GROUPDB_SRC,
- deps='tdb')
+ source=GROUPDB_SRC)
bld.SAMBA_SUBSYSTEM('TLDAP',
source=TLDAP_SRC,
- deps='tdb')
+ deps='ASN1_UTIL LIBTSOCKET')
bld.SAMBA_SUBSYSTEM('PASSDB',
source=PASSDB_SRC,
- deps='GROUPDB TLDAP',
+ deps='GROUPDB TLDAP SECRETS',
vars=locals())
bld.SAMBA_SUBSYSTEM('LDB',
source=LDB_SRC,
- deps='tdb',
- includes='../lib/tdb/include lib',
+ includes='lib',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('PARAM_WITHOUT_REG',
+ source=PARAM_WITHOUT_REG_SRC)
+
+bld.SAMBA_SUBSYSTEM('PARAM',
+ source=PARAM_SRC,
+ deps='PARAM_WITHOUT_REG',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('POPT_SAMBA',
+ source=POPT_LIB_SRC,
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('KRBCLIENT',
+ source=KRBCLIENT_SRC,
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBS',
+ source=LIB_SRC,
+ deps='NSS_WRAPPER',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIB_NONSMBD',
+ source=LIB_NONSMBD_SRC,
+ deps='LIBS',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB_ERR',
+ source=LIBSMB_ERR_SRC,
+ deps='SECRETS',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSAMBA',
+ source=LIBSAMBA_SRC,
+ deps='LIBSMB_ERR',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('LIBSMB',
+ source=LIBSMB_SRC,
+ deps='LIBSAMBA ZLIB',
+ vars=locals())
+
+bld.SAMBA_SUBSYSTEM('SECRETS',
+ source=SECRETS_SRC,
vars=locals())
########################## BINARIES #################################
bld.SAMBA_BINARY('smbd/smbd',
source=SMBD_SRC,
- deps='''tdb DYNCONFIG tevent popt dl krb5 ldap gssapi gssapi_krb5
- NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv z PASSDB LDB''',
- includes='lib',
+ deps='''tdb DYNCONFIG tevent dl krb5 ldap gssapi gssapi_krb5
+ NSS_WRAPPER LIBWBCLIENT crypt nsl cups cap resolv ZLIB PASSDB LDB
+ PARAM_WITHOUT_REG LIBS LIBSMB POPT_SAMBA KRBCLIENT''',
+ install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('nmbd/nmbd',
source=NMBD_SRC,
- deps='''talloc tdb tevent z cap resolv LIBWBCLIENT popt dl
- NSS_WRAPPER DYNCONFIG PASSDB LDB''',
- includes='lib ../lib/tdb/include',
+ deps='''talloc tdb tevent ZLIB cap resolv LIBWBCLIENT dl
+ NSS_WRAPPER DYNCONFIG PASSDB LDB PARAM ldap LIB_NONSMBD LIBSMB
+ POPT_SAMBA KRBCLIENT''',
+ install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('winbindd/winbindd',
source=WINBINDD_SRC,
- deps='''talloc tdb tevent cap dl popt DYNCONFIG z NSS_WRAPPER
- LIBWBCLIENT PASSDB resolv LDB''',
- includes='lib',
+ deps='''talloc tdb tevent cap dl DYNCONFIG ZLIB NSS_WRAPPER
+ LIBWBCLIENT PASSDB ldap resolv LDB PARAM LIB_NONSMBD LIBSMB
+ POPT_SAMBA KRBCLIENT''',
+ enabled=Options.options.with_winbind,
+ install_path='${SBINDIR}',
+ vars=locals())
+
+bld.SAMBA_BINARY('web/swat',
+ source=SWAT_SRC,
+ deps='''talloc tevent DYNCONFIG LIBS LIBSMB LIBWBCLIENT PARAM
+ LIB_NONSMBD resolv LDB PASSDB POPT_SAMBA KRBCLIENT''',
+ enabled=Options.options.with_swat,
+ install_path='${SBINDIR}',
vars=locals())
bld.SAMBA_BINARY('wbinfo',
source=WBINFO_SRC,
- deps='''talloc LIBWBCLIENT popt DYNCONFIG tevent tdb cap
- NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB''',
- includes='lib ../lib/tdb/include',
+ deps='''talloc LIBWBCLIENT DYNCONFIG tevent cap
+ NSS_WRAPPER ASN1_UTIL LIBTSOCKET PASSDB ldap PARAM LIB_NONSMBD
+ LIBSAMBA POPT_SAMBA''',
vars=locals())
bld.SAMBA_BINARY('testparm',
source=TESTPARM_SRC,
- deps='''talloc tdb tevent popt DYNCONFIG cap NSS_WRAPPER
- LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB''',
+ deps='''talloc tevent DYNCONFIG ldap cap NSS_WRAPPER
+ LIBWBCLIENT ASN1_UTIL LIBTSOCKET PASSDB PARAM LIB_NONSMBD
+ LIBSMB_ERR POPT_SAMBA''',
+ vars=locals())
+
+bld.SAMBA_BINARY('eventlogadm',
+ source=EVTLOGADM_SRC,
+ deps='''talloc tevent POPT_SAMBA DYNCONFIG LIBS PARAM
+ LIB_NONSMBD LIBSMB_ERR PASSDB LIBWBCLIENT''',
vars=locals())
-########################## INCLLUDES #################################
+swat_files=recursive_dirlist('../swat', '../swat', '*')
+bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')
+
+########################## INCLUDES #################################
bld.RECURSE('../lib/socket_wrapper')
bld.RECURSE('../lib/talloc')