s3-smbldap: make smbldap public library and maintain its ABI
[samba.git] / source3 / wscript_build
index 7204220b0a417a6c93e5abf83f8362af6c415064..88ad8ab0cb599e5ea3eff55c1ac45a739918df59 100755 (executable)
@@ -349,7 +349,7 @@ SMBD_SRC_SRV = '''smbd/server_reload.c smbd/files.c smbd/connection.c
                smbd/process.c smbd/service.c smbd/error.c
                printing/printspoolss.c printing/spoolssd.c
                lib/sysquotas.c lib/sysquotas_linux.c
-               lib/sysquotas_xfs.c lib/sysquotas_4A.c
+               lib/sysquotas_xfs.c lib/sysquotas_4A.c lib/sysquotas_4B.c
                lib/sysquotas_nfs.c
                lib/background.c
                smbd/fake_file.c
@@ -422,8 +422,6 @@ SWAT_SRC = '''${SWAT_SRC1}'''
 
 STATUS_SRC = '''utils/status.c utils/status_profile.c smbd/notify_internal.c'''
 
-CCLEAN_SRC = '''utils/cclean.c utils/interact.c'''
-
 SMBCONTROL_SRC = '''utils/smbcontrol.c'''
 
 SMBTREE_SRC = '''utils/smbtree.c'''
@@ -515,7 +513,7 @@ NET_SRC1 = '''utils/net.c utils/net_ads.c utils/net_help.c
               utils/net_util.c utils/net_rpc_sh_acct.c utils/net_rpc_audit.c
               utils/net_dns.c utils/net_ads_gpo.c
               utils/net_conf.c utils/net_join.c utils/net_user.c
-              utils/net_group.c utils/net_file.c utils/net_registry.c
+              utils/net_group.c utils/net_file.c utils/net_registry.c utils/net_connections.c
               utils/net_registry_check.c
               utils/net_dom.c utils/net_share.c
               utils/net_g_lock.c
@@ -694,14 +692,30 @@ bld.SAMBA3_SUBSYSTEM('TLDAP',
                     source=TLDAP_SRC,
                     deps='asn1util LIBTSOCKET')
 
+static_pdb_modules = ['tdbsam', 'ldap', 'smbpasswd', 'wbc_sam']
+static_pdb_match = filter(lambda x: bld.SAMBA3_IS_STATIC_MODULE('pdb_%s' % x), static_pdb_modules)
+private_pdb_match = []
+if bld.SAMBA3_IS_STATIC_MODULE('pdb_samba_dsdb') and bld.AD_DC_BUILD_IS_ENABLED():
+    static_pdb_match.append('samba_dsdb')
+    private_pdb_match.append('!idmap_init')
+    private_pdb_match.append('!idmap_sids_to_xids')
+    private_pdb_match.append('!idmap_xids_to_sids')
+
+private_pdb_match = private_pdb_match + map(lambda x: '!pdb_%s_init' % x, static_pdb_match)
+
 bld.SAMBA3_LIBRARY('pdb',
                    source=PASSDB_SRC,
                    deps='secrets3 GROUPDB SERVER_MUTEX wbclient LIBCLI_AUTH flag_mapping',
-                   private_library=True,
+                   private_library=False,
+                   pc_files=[],
+                   public_headers_install=True,
                    public_headers='''
                                include/passdb.h
                                passdb/machine_sid.h
                                passdb/lookup_sid.h''',
+                   abi_match=private_pdb_match + ['*'],
+                   abi_directory='passdb/ABI',
+                   vnum='0',
                    vars=locals())
 
 bld.SAMBA3_SUBSYSTEM('SERVER_MUTEX',
@@ -749,7 +763,7 @@ bld.SAMBA3_SUBSYSTEM('REG_API_REGF',
 bld.SAMBA3_LIBRARY('smbregistry',
                    source=REG_BASE_SRC,
                    deps='''smbd_shim tdb-wrap3 NDR_SECURITY util_tdb talloc
-                   replace util_reg samba-util security
+                   replace util_reg samba-util samba-security
                    errors3 dbwrap samba3-util''',
                    allow_undefined_symbols=True,
                    private_library=True)
@@ -782,18 +796,12 @@ bld.SAMBA3_SUBSYSTEM('KRBCLIENT',
 
 bld.SAMBA3_SUBSYSTEM('samba3util',
                    source=LIB_UTIL_SRC,
-                   deps='ndr security NDR_SECURITY samba-util util_tdb ccan-hash',
+                   deps='ndr samba-security NDR_SECURITY samba-util util_tdb ccan-hash',
                    vars=locals())
 
-bld.SAMBA3_SUBSYSTEM('pidfile',
-                     source='lib/pidfile.c',
-                     # only pidfile.c assumes that CONFIGFILE is set
-                     cflags = ['-DCONFIGFILE="%s"' % bld.env['CONFIGFILE']])
-
 bld.SAMBA3_SUBSYSTEM('samba3core',
                    source=LIB_SRC,
                    deps='''
-                        pidfile
                         samba3util
                         LIBTSOCKET
                         NDR_MESSAGING
@@ -858,7 +866,11 @@ bld.SAMBA3_LIBRARY('smbldap',
                     deps='ldap lber samba-util param',
                     vars=locals(),
                     enabled=bld.env.HAVE_LDAP,
-                    private_library=True,
+                    private_library=False,
+                    abi_directory='lib/ABI',
+                    abi_match='smbldap_*',
+                    pc_files=[],
+                    vnum='0',
                     public_headers='include/smbldap.h include/smb_ldap.h')
 
 bld.SAMBA3_LIBRARY('ads',
@@ -938,6 +950,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
                     NDR_SMBXSRV
                    LIBASYS
                     ccan-hash
+                    NDR_SMB_ACL
                     ''',
                     private_library=True,
                     vars=locals())
@@ -1064,7 +1077,7 @@ bld.SAMBA3_SUBSYSTEM('tdb-wrap3',
                     vars=locals())
 
 bld.SAMBA3_LIBRARY('samba3-util',
-                   source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/string_init.c lib/namearray.c lib/file_id.c''',
+                   source='''lib/util_sec.c lib/util_str.c lib/adt_tree.c lib/util_malloc.c lib/memcache.c lib/namearray.c lib/file_id.c''',
                    deps='samba-util charset',
                    private_library=True)
 
@@ -1325,16 +1338,6 @@ bld.SAMBA3_BINARY('smbstatus',
                  PROFILE''',
                  vars=locals())
 
-bld.SAMBA3_BINARY('cclean',
-                 source=CCLEAN_SRC,
-                 deps='''
-                 talloc
-                 param
-                 popt_samba3
-                 LOCKING
-                 PROFILE''',
-                 vars=locals())
-
 bld.SAMBA3_BINARY('smbcontrol',
                  source=SMBCONTROL_SRC,
                  deps='''
@@ -1486,7 +1489,9 @@ bld.SAMBA3_BINARY('pdbtest',
                  deps='''
                  talloc
                  pdb
-                 popt_samba3''',
+                 popt_samba3
+                 AUTH_COMMON
+                 auth''',
                  vars=locals())
 
 bld.SAMBA3_BINARY('vfstest',
@@ -1591,10 +1596,16 @@ bld.SAMBA3_BINARY('vlp',
 
 bld.SAMBA3_PYTHON('pysmbd',
                   source='smbd/pysmbd.c',
-                  deps='smbd_base',
+                  deps='smbd_base pyrpc_util',
                   realname='samba/samba3/smbd.so'
                   )
 
+bld.SAMBA3_PYTHON('pylibsmb',
+                  source='libsmb/pylibsmb.c',
+                  deps='smbclient samba-credentials',
+                  realname='samba/samba3/libsmb_samba_internal.so'
+                  )
+
 swat_dir = os.path.join(bld.curdir, '../swat')
 swat_files = recursive_dirlist(swat_dir, swat_dir, '*')
 bld.INSTALL_FILES('${SWATDIR}', swat_files, base_name='../swat')