#!/usr/bin/env python bld.RECURSE('samdb/ldb_modules') bld.SAMBA_LIBRARY('samdb', source='samdb/samdb.c samdb/samdb_privilege.c samdb/cracknames.c repl/replicated_objects.c', pc_files='samdb.pc', autoproto='samdb/samdb_proto.h', public_deps='krb5', public_headers='', vnum='0.0.1', 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', ) bld.SAMBA_LIBRARY('samdb-common', 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', autoproto='common/proto.h', private_library=True, deps='ldb NDR_DRSBLOBS util_ldb LIBCLI_AUTH samba-hostconfig samba_socket cli-ldap-common flag_mapping UTIL_RUNCMD' ) 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 schema/dsdb_dn.c', autoproto='schema/proto.h', deps='samdb-common NDR_DRSUAPI NDR_DRSBLOBS ldbsamba tevent' ) bld.SAMBA_MODULE('service_drepl', 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', autoproto='repl/drepl_service_proto.h', subsystem='service', init_function='server_service_drepl_init', deps='samdb process_model RPC_NDR_DRSUAPI', internal_module=False, enabled=bld.AD_DC_BUILD_IS_ENABLED() ) bld.SAMBA_LIBRARY('dsdb_garbage_collect_tombstones', source='kcc/garbage_collect_tombstones.c', deps='samdb RPC_NDR_DRSUAPI', private_library=True, enabled=bld.AD_DC_BUILD_IS_ENABLED()) bld.SAMBA_LIBRARY('scavenge_dns_records', source='kcc/scavenge_dns_records.c', deps='samdb RPC_NDR_DRSUAPI dnsserver_common', private_library=True, enabled=bld.AD_DC_BUILD_IS_ENABLED()) bld.SAMBA_MODULE('service_kcc', source='kcc/kcc_service.c kcc/kcc_connection.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 UTIL_RUNCMD dsdb_garbage_collect_tombstones scavenge_dns_records', internal_module=False, enabled=bld.AD_DC_BUILD_IS_ENABLED() ) bld.SAMBA_MODULE('service_dns_update', source='dns/dns_update.c', subsystem='service', init_function='server_service_dnsupdate_init', deps='samdb UTIL_RUNCMD samba-util ldb samdb-common samba-errors talloc auth_system_session samba-hostconfig', internal_module=False, enabled=bld.AD_DC_BUILD_IS_ENABLED() ) for env in bld.gen_python_environments(): pyldb_util = bld.pyembed_libname('pyldb-util') pyrpc_util = bld.pyembed_libname('pyrpc_util') pyparam_util = bld.pyembed_libname('pyparam_util') bld.SAMBA_PYTHON('python_dsdb', source='pydsdb.c', # the dependency on dcerpc here is because gensec # depends on dcerpc but the waf circular dependency finder # removes it so we end up with unresolved symbols. deps='samdb %s dcerpc com_err %s %s dsdb_garbage_collect_tombstones scavenge_dns_records' %\ (pyldb_util, pyrpc_util, pyparam_util), realname='samba/dsdb.so', enabled=bld.AD_DC_BUILD_IS_ENABLED() )