#!/usr/bin/env python

bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPERS',
	source='util.c ridalloc.c',
	autoproto='util_proto.h',
	deps='ldb LIBNDR SAMDB_SCHEMA MESSAGING'
	)


bld.SAMBA_MODULE('ldb_samba_dsdb',
	source='samba_dsdb.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(samba_dsdb)',
	deps='SAMDB talloc LIBEVENTS LIBNDR DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_samba_secrets',
	source='samba_secrets.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(samba_secrets)',
	deps='SAMDB talloc LIBEVENTS LIBNDR'
	)


bld.SAMBA_MODULE('ldb_objectguid',
	source='objectguid.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(objectguid)',
	deps='SAMDB talloc LIBEVENTS LIBNDR'
	)


bld.SAMBA_MODULE('ldb_repl_meta_data',
	source='repl_meta_data.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(repl_meta_data)',
	deps='SAMDB talloc LIBEVENTS LIBNDR NDR_DRSUAPI NDR_DRSBLOBS LIBNDR DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_dsdb_cache',
	source='dsdb_cache.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(dsdb_cache)',
	deps='SAMDB talloc LIBEVENTS'
	)


bld.SAMBA_MODULE('ldb_schema_load',
	source='schema_load.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(schema_load)',
	deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_schema_data',
	source='schema_data.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(schema_data)',
	deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_naming_fsmo',
	source='naming_fsmo.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(naming_fsmo)',
	deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_pdc_fsmo',
	source='pdc_fsmo.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(pdc_fsmo)',
	deps='SAMDB talloc LIBEVENTS DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_samldb',
	source='samldb.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(samldb)',
	deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_samba3sam',
	source='samba3sam.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(samba3sam)',
	deps='talloc LIBEVENTS ldb SMBPASSWD NSS_WRAPPER LIBSECURITY NDR_SECURITY'
	)


bld.SAMBA_MODULE('ldb_samba3sid',
	source='samba3sid.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(samba3sid)',
	deps='talloc LIBEVENTS ldb SMBPASSWD NSS_WRAPPER LIBSECURITY NDR_SECURITY'
	)


bld.SAMBA_MODULE('ldb_simple_ldap_map',
	source='simple_ldap_map.c',
	aliases='entryuuid nsuniqueid',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(entryuuid),LDB_MODULE(nsuniqueid)',
	deps='talloc LIBEVENTS ldb LIBNDR'
	)


bld.SAMBA_MODULE('ldb_rootdse',
	source='rootdse.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(rootdse)',
	deps='talloc LIBEVENTS SAMDB'
	)


bld.SAMBA_MODULE('ldb_password_hash',
	source='password_hash.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(password_hash)',
	deps='talloc LIBEVENTS SAMDB LIBCLI_AUTH NDR_DRSBLOBS KERBEROS HEIMDAL_HDB_KEYS HEIMDAL_KRB5'
	)


bld.SAMBA_MODULE('ldb_local_password',
	source='local_password.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(local_password)',
	deps='talloc LIBEVENTS LIBNDR SAMDB'
	)


bld.SAMBA_MODULE('ldb_kludge_acl',
	source='kludge_acl.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(kludge_acl)',
	deps='talloc LIBEVENTS LIBSECURITY SAMDB'
	)


bld.SAMBA_MODULE('ldb_extended_dn_in',
	source='extended_dn_in.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(extended_dn_in)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL'
	)


bld.SAMBA_MODULE('ldb_extended_dn_out',
	source='extended_dn_out.c',
	aliases='extended_dn_out_ldb extended_dn_out_openldap extended_dn_out_fds',
	subsystem='LIBLDB',
	deps='talloc LIBEVENTS LIBNDR LIBSAMBA-UTIL SAMDB',
	init_function='LDB_MODULE(extended_dn_out_ldb),LDB_MODULE(extended_dn_out_openldap),LDB_MODULE(extended_dn_out_fds)'
	)


bld.SAMBA_MODULE('ldb_extended_dn_store',
	source='extended_dn_store.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(extended_dn_store)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_show_deleted',
	source='show_deleted.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(show_deleted)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL'
	)


bld.SAMBA_MODULE('ldb_partition',
	source='partition.c partition_init.c',
	autoproto='partition_proto.h',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(partition)',
	deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_new_partition',
	source='new_partition.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(new_partition)',
	deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_update_keytab',
	source='update_keytab.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(update_keytab)',
	deps='talloc LIBEVENTS CREDENTIALS ldb'
	)


bld.SAMBA_MODULE('ldb_objectclass',
	source='objectclass.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(objectclass)',
	deps='talloc LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB DSDB_MODULE_HELPERS LIBSAMBA-UTIL'
	)


bld.SAMBA_MODULE('ldb_subtree_rename',
	source='subtree_rename.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(subtree_rename)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL ldb'
	)


bld.SAMBA_MODULE('ldb_subtree_delete',
	source='subtree_delete.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(subtree_delete)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_linked_attributes',
	source='linked_attributes.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(linked_attributes)',
	deps='talloc LIBEVENTS SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_ranged_results',
	source='ranged_results.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(ranged_results)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL ldb'
	)


bld.SAMBA_MODULE('ldb_anr',
	source='anr.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(anr)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB'
	)


bld.SAMBA_MODULE('ldb_instancetype',
	source='instancetype.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(instancetype)',
	deps='talloc LIBEVENTS LIBSAMBA-UTIL SAMDB'
	)


bld.SAMBA_MODULE('ldb_operational',
	source='operational.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(operational)',
	deps='talloc tevent LIBSAMBA-UTIL SAMDB_COMMON DSDB_MODULE_HELPERS auth_sam'
	)


bld.SAMBA_MODULE('ldb_descriptor',
	source='descriptor.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(descriptor)',
	deps='talloc LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_resolve_oids',
	source='resolve_oids.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(resolve_oids)',
	deps='SAMDB talloc LIBEVENTS LIBNDR'
	)


bld.SAMBA_MODULE('ldb_acl',
	source='acl.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(acl)',
	deps='talloc LIBEVENTS LIBSECURITY SAMDB'
	)


bld.SAMBA_MODULE('ldb_lazy_commit',
	source='lazy_commit.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(lazy_commit)',
	deps='SAMDB'
	)


bld.SAMBA_MODULE('ldb_validate_update',
	source='validate_update.c',
	subsystem='LIBLDB',
	init_function='LDB_MODULE(validate_update)',
	deps='talloc LIBEVENTS LIBSECURITY SAMDB'
	)