#!/usr/bin/env python
-PDB_TDBSAM_SRC = 'pdb_tdb.c'
-PDB_LDAP_SRC = 'pdb_ldap.c pdb_nds.c'
-PDB_ADS_SRC = 'pdb_ads.c'
-PDB_SMBPASSWD_SRC = 'pdb_smbpasswd.c'
-PDB_WBC_SAM_SRC = 'pdb_wbc_sam.c'
-
-bld.SAMBA_SUBSYSTEM('pdb',
- source='pdb_interface.c',
- deps='',
- vars=locals())
-
-bld.SAMBA_MODULE('pdb_tdbsam',
+bld.SAMBA3_MODULE('pdb_tdbsam',
subsystem='pdb',
- source=PDB_TDBSAM_SRC,
+ source='pdb_tdb.c',
+ deps='samba-util dbwrap tdb-wrap3',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_tdbsam'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_tdbsam'))
-bld.SAMBA_MODULE('pdb_ldap',
- subsystem='pdb',
- source=PDB_LDAP_SRC,
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldap'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldap') and bld.env.HAVE_LDAP)
-
-bld.SAMBA_MODULE('pdb_ads',
+bld.SAMBA3_MODULE('pdb_ldapsam',
subsystem='pdb',
- source=PDB_ADS_SRC,
- deps='LIBCLI_LDAP_NDR TLDAP',
+ deps='smbldap smbldaphelper',
+ source='pdb_ldap.c pdb_nds.c',
init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ads'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ads'))
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_ldapsam'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_ldapsam') and bld.CONFIG_SET('HAVE_LDAP'))
-bld.SAMBA_MODULE('pdb_smbpasswd',
+bld.SAMBA3_MODULE('pdb_smbpasswd',
subsystem='pdb',
- source=PDB_SMBPASSWD_SRC,
+ source='pdb_smbpasswd.c',
+ deps='samba-util',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_smbpasswd'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_smbpasswd'))
-bld.SAMBA_MODULE('pdb_wbc_sam',
- subsystem='pdb',
- source=PDB_WBC_SAM_SRC,
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_wbc_sam'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_wbc_sam'))
+bld.SAMBA3_MODULE('pdb_samba_dsdb',
+ subsystem='pdb',
+ source='pdb_samba_dsdb.c',
+ init_function='',
+ deps='IDMAP samdb',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED(),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED())
+
+for env in bld.gen_python_environments():
+ pyrpc_util = bld.pyembed_libname('pyrpc_util')
+ pytalloc_util = bld.pyembed_libname('pytalloc-util')
+ bld.SAMBA3_PYTHON('pypassdb',
+ source='py_passdb.c',
+ deps='pdb',
+ public_deps=' '.join(['samba-util', 'tdb', 'talloc', pyrpc_util, pytalloc_util]),
+ realname='samba/samba3/passdb.so'
+ )