3 bld
.RECURSE('samdb/ldb_modules')
5 bld
.SAMBA_LIBRARY('samdb',
6 source
='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c',
8 autoproto
='samdb/samdb_proto.h',
12 deps
='ndr NDR_DRSUAPI NDR_DRSBLOBS auth_system_session LIBCLI_AUTH ndr SAMDB_SCHEMA ldbsamba samdb-common LIBCLI_DRSUAPI cli-ldap-common samba-util com_err authkrb5 samba-credentials ldbwrap samba-errors krb5samba ldb',
15 bld
.SAMBA_LIBRARY('samdb-common',
16 source
='common/util.c common/util_trusts.c common/util_groups.c common/util_samr.c common/dsdb_dn.c common/dsdb_access.c common/util_links.c common/rodc_helper.c gmsa/gkdi.c gmsa/util.c',
17 autoproto
='common/proto.h',
19 deps
='ldb NDR_DRSBLOBS util_ldb LIBCLI_AUTH samba-hostconfig samba_socket cli-ldap-common flag_mapping UTIL_RUNCMD SAMBA_VERSION samba-security gkdi gmsa'
23 bld
.SAMBA_SUBSYSTEM('SAMDB_SCHEMA',
24 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 schema/dsdb_dn.c',
25 autoproto
='schema/proto.h',
26 deps
='samdb-common NDR_DRSUAPI NDR_DRSBLOBS ldbsamba tevent'
30 bld
.SAMBA_MODULE('service_drepl',
31 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_extended.c repl/drepl_fsmo.c repl/drepl_secret.c repl/drepl_replica.c',
32 autoproto
='repl/drepl_service_proto.h',
34 init_function
='server_service_drepl_init',
35 deps
='samdb process_model RPC_NDR_DRSUAPI',
36 internal_module
=False,
37 enabled
=bld
.AD_DC_BUILD_IS_ENABLED()
40 bld
.SAMBA_LIBRARY('dsdb_garbage_collect_tombstones',
41 source
='kcc/garbage_collect_tombstones.c',
42 deps
='samdb RPC_NDR_DRSUAPI',
44 enabled
=bld
.AD_DC_BUILD_IS_ENABLED())
46 bld
.SAMBA_LIBRARY('scavenge_dns_records',
47 source
='kcc/scavenge_dns_records.c',
48 deps
='samdb RPC_NDR_DRSUAPI dnsserver_common',
50 enabled
=bld
.AD_DC_BUILD_IS_ENABLED())
52 bld
.SAMBA_MODULE('service_kcc',
53 source
='kcc/kcc_service.c kcc/kcc_connection.c kcc/kcc_periodic.c kcc/kcc_drs_replica_info.c',
54 autoproto
='kcc/kcc_service_proto.h',
56 init_function
='server_service_kcc_init',
57 deps
='samdb process_model RPC_NDR_IRPC RPC_NDR_DRSUAPI UTIL_RUNCMD dsdb_garbage_collect_tombstones scavenge_dns_records',
58 internal_module
=False,
59 enabled
=bld
.AD_DC_BUILD_IS_ENABLED()
63 bld
.SAMBA_MODULE('service_dns_update',
64 source
='dns/dns_update.c',
66 init_function
='server_service_dnsupdate_init',
67 deps
='samdb UTIL_RUNCMD samba-util ldb samdb-common samba-errors talloc auth_system_session samba-hostconfig',
68 internal_module
=False,
69 enabled
=bld
.AD_DC_BUILD_IS_ENABLED()
72 pyldb_util
= bld
.pyembed_libname('pyldb-util')
73 pyrpc_util
= bld
.pyembed_libname('pyrpc_util')
74 pyparam_util
= bld
.pyembed_libname('pyparam_util')
75 bld
.SAMBA_PYTHON('python_dsdb',
77 # the dependency on dcerpc here is because gensec
78 # depends on dcerpc but the waf circular dependency finder
79 # removes it so we end up with unresolved symbols.
80 deps
='samdb %s dcerpc com_err %s %s dsdb_garbage_collect_tombstones scavenge_dns_records' %\
81 (pyldb_util
, pyrpc_util
, pyparam_util
),
82 realname
='samba/dsdb.so'