#!/usr/bin/env python

bld.SAMBA_LIBRARY('dsdb-module',
	source=[],
	deps='DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC',
	private_library=True,
	grouping_library=True)

bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPERS',
	source='util.c acl_util.c schema_util.c',
	autoproto='util_proto.h',
	deps='ldb ndr samdb-common security'
	)

bld.SAMBA_SUBSYSTEM('DSDB_MODULE_HELPER_RIDALLOC',
	source='ridalloc.c',
	autoproto='ridalloc.h',
	deps='MESSAGING',
	)

bld.SAMBA_MODULE('ldb_samba_dsdb',
	source='samba_dsdb.c',
	subsystem='ldb',
	init_function='ldb_samba_dsdb_module_init',
	module_init_name='ldb_init_module',
	deps='samdb talloc ndr DSDB_MODULE_HELPERS',
	internal_module=False,
	)


bld.SAMBA_MODULE('ldb_samba_secrets',
	source='samba_secrets.c',
	subsystem='ldb',
	init_function='ldb_samba_secrets_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc ndr'
	)


bld.SAMBA_MODULE('ldb_objectguid',
	source='objectguid.c',
	subsystem='ldb',
	init_function='ldb_objectguid_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc ndr DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_repl_meta_data',
	source='repl_meta_data.c',
	subsystem='ldb',
	init_function='ldb_repl_meta_data_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc ndr NDR_DRSUAPI NDR_DRSBLOBS ndr DSDB_MODULE_HELPERS security'
	)


bld.SAMBA_MODULE('ldb_schema_load',
	source='schema_load.c',
	subsystem='ldb',
	init_function='ldb_schema_load_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_schema_data',
	source='schema_data.c',
	subsystem='ldb',
	init_function='ldb_schema_data_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_samldb',
	source='samldb.c',
	subsystem='ldb',
	init_function='ldb_samldb_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb DSDB_MODULE_HELPERS DSDB_MODULE_HELPER_RIDALLOC'
	)


bld.SAMBA_MODULE('ldb_samba3sam',
	source='samba3sam.c',
	subsystem='ldb',
	init_function='ldb_samba3sam_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc ldb smbpasswdparser security NDR_SECURITY'
	)


bld.SAMBA_MODULE('ldb_samba3sid',
	source='samba3sid.c',
	subsystem='ldb',
	init_function='ldb_samba3sid_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc ldb security NDR_SECURITY ldbsamba DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_simple_ldap_map',
	source='simple_ldap_map.c',
	subsystem='ldb',
	init_function='ldb_simple_ldap_map_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc ldb ndr ldbsamba samdb-common'
	)


bld.SAMBA_MODULE('ldb_rootdse',
	source='rootdse.c',
	subsystem='ldb',
	init_function='ldb_rootdse_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb MESSAGING security DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_password_hash',
	source='password_hash.c',
	subsystem='ldb',
	init_function='ldb_password_hash_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb LIBCLI_AUTH NDR_DRSBLOBS authkrb5 krb5 DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_local_password',
	source='local_password.c',
	subsystem='ldb',
	init_function='ldb_local_password_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc ndr samdb'
	)

bld.SAMBA_MODULE('ldb_extended_dn_in',
	source='extended_dn_in.c',
	subsystem='ldb',
	init_function='ldb_extended_dn_in_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='ldb talloc samba-util DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_extended_dn_out',
	source='extended_dn_out.c',
	init_function='ldb_extended_dn_out_module_init',
	module_init_name='ldb_init_module',
	subsystem='ldb',
	deps='talloc ndr samba-util samdb DSDB_MODULE_HELPERS',
	internal_module=False,
	)


bld.SAMBA_MODULE('ldb_extended_dn_store',
	source='extended_dn_store.c',
	subsystem='ldb',
	init_function='ldb_extended_dn_store_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_show_deleted',
	source='show_deleted.c',
	subsystem='ldb',
	init_function='ldb_show_deleted_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_partition',
	source='partition.c partition_init.c partition_metadata.c',
	autoproto='partition_proto.h',
	subsystem='ldb',
	init_function='ldb_partition_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_new_partition',
	source='new_partition.c',
	subsystem='ldb',
	init_function='ldb_new_partition_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_update_keytab',
	source='update_keytab.c',
	subsystem='ldb',
	init_function='ldb_update_keytab_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-credentials ldb com_err KERBEROS_SRV_KEYTAB DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_objectclass',
	source='objectclass.c',
	subsystem='ldb',
	init_function='ldb_objectclass_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb DSDB_MODULE_HELPERS samba-util'
	)


bld.SAMBA_MODULE('ldb_objectclass_attrs',
	source='objectclass_attrs.c',
	subsystem='ldb',
	init_function='ldb_objectclass_attrs_module_init',
	module_init_name='ldb_init_module',
	deps='talloc samdb samba-util',
	internal_module=False,
	)


bld.SAMBA_MODULE('ldb_subtree_rename',
	source='subtree_rename.c',
	subsystem='ldb',
	init_function='ldb_subtree_rename_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util ldb samdb-common'
	)


bld.SAMBA_MODULE('ldb_subtree_delete',
	source='subtree_delete.c',
	subsystem='ldb',
	init_function='ldb_subtree_delete_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_linked_attributes',
	source='linked_attributes.c',
	subsystem='ldb',
	init_function='ldb_linked_attributes_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_ranged_results',
	source='ranged_results.c',
	subsystem='ldb',
	init_function='ldb_ranged_results_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util ldb'
	)


bld.SAMBA_MODULE('ldb_anr',
	source='anr.c',
	subsystem='ldb',
	init_function='ldb_anr_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util samdb'
	)


bld.SAMBA_MODULE('ldb_instancetype',
	source='instancetype.c',
	subsystem='ldb',
	init_function='ldb_instancetype_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_operational',
	source='operational.c',
	subsystem='ldb',
	init_function='ldb_operational_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc samba-util samdb-common DSDB_MODULE_HELPERS samdb'
	)


bld.SAMBA_MODULE('ldb_descriptor',
	source='descriptor.c',
	subsystem='ldb',
	init_function='ldb_descriptor_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc security NDR_SECURITY samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_resolve_oids',
	source='resolve_oids.c',
	subsystem='ldb',
	init_function='ldb_resolve_oids_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='samdb talloc ndr'
	)


bld.SAMBA_MODULE('ldb_acl',
	source='acl.c',
	subsystem='ldb',
	init_function='ldb_acl_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc security samdb DSDB_MODULE_HELPERS'
	)


bld.SAMBA_MODULE('ldb_lazy_commit',
	source='lazy_commit.c',
	subsystem='ldb',
	internal_module=False,
	module_init_name='ldb_init_module',
	init_function='ldb_lazy_commit_module_init',
	deps='samdb DSDB_MODULE_HELPERS'
	)

bld.SAMBA_MODULE('ldb_aclread',
	source='acl_read.c',
	subsystem='ldb',
	init_function='ldb_aclread_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc security samdb DSDB_MODULE_HELPERS',
	)

bld.SAMBA_MODULE('ldb_simple_dn',
	source='simple_dn.c',
	subsystem='ldb',
	init_function='ldb_simple_dn_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc DSDB_MODULE_HELPERS'
	)

bld.SAMBA_MODULE('ldb_dirsync',
	source='dirsync.c',
	subsystem='ldb',
	init_function='ldb_dirsync_module_init',
	module_init_name='ldb_init_module',
	internal_module=False,
	deps='talloc security samdb DSDB_MODULE_HELPERS'
	)