#!/usr/bin/env python

bld.RECURSE('samdb/ldb_modules')

bld.SAMBA_SUBSYSTEM('SAMDB',
	source='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c',
	autoproto='samdb/samdb_proto.h',
	public_deps='HEIMDAL_KRB5',
	deps='LIBNDR NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER auth_system_session LIBCLI_AUTH LIBNDR SAMDB_SCHEMA LDBSAMBA SAMDB_COMMON LIBCLI_DRSUAPI LIBCLI_LDAP_NDR LIBSAMBA-UTIL'
	)


bld.SAMBA_SUBSYSTEM('SAMDB_COMMON',
	source='common/util.c common/util_samr.c common/dsdb_dn.c common/dsdb_access.c ../../libds/common/flag_mapping.c',
	autoproto='common/proto.h',
	deps='ldb NDR_DRSBLOBS LIBCLI_LDAP_NDR UTIL_LDB LIBCLI_AUTH DSDB_MODULE_HELPERS'
	)


bld.SAMBA_SUBSYSTEM('SAMDB_SCHEMA',
	source='schema/schema_init.c schema/schema_set.c schema/schema_query.c schema/schema_syntax.c schema/schema_description.c schema/schema_convert_to_ol.c schema/schema_inferiors.c schema/schema_prefixmap.c schema/schema_info_attr.c schema/schema_filtered.c',
	autoproto='schema/proto.h',
	deps='SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS LDBSAMBA tevent'
	)


bld.SAMBA_MODULE('DREPL_SRV',
	source='repl/drepl_service.c repl/drepl_periodic.c repl/drepl_partitions.c repl/drepl_out_pull.c repl/drepl_out_helpers.c repl/drepl_notify.c repl/drepl_ridalloc.c repl/drepl_fsmo.c',
	autoproto='repl/drepl_service_proto.h',
	subsystem='service',
	init_function='server_service_drepl_init',
	deps='SAMDB process_model RPC_NDR_DRSUAPI'
	)


bld.SAMBA_MODULE('KCC_SRV',
	source='kcc/kcc_service.c kcc/kcc_connection.c kcc/kcc_topology.c kcc/kcc_deleted.c kcc/kcc_periodic.c kcc/kcc_drs_replica_info.c',
	autoproto='kcc/kcc_service_proto.h',
	subsystem='service',
	init_function='server_service_kcc_init',
	deps='SAMDB process_model RPC_NDR_IRPC RPC_NDR_DRSUAPI'
	)


bld.SAMBA_MODULE('DNS_UPDATE_SRV',
	source='dns/dns_update.c',
	subsystem='service',
	init_function='server_service_dnsupdate_init',
	deps='SAMDB process_model UTIL_RUNCMD'
	)

bld.SAMBA_PYTHON('python_dsdb',
                 source='pydsdb.c',
                 deps='SAMDB pyldb_util',
                 realname='samba/dsdb.so'
                 )