mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
s3-waf: try to deal with system w/o ldap; also move module processing to the end of wscript.
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Fri Feb 11 02:30:40 CET 2011 on sn-devel-104
This commit is contained in:
parent
5507d6850f
commit
44f2344a92
189
source3/wscript
189
source3/wscript
@ -471,98 +471,6 @@ msg.msg_acctrightslen = sizeof(fd);
|
|||||||
msg='Checking if we can use msg_acctrights for passing file descriptors',
|
msg='Checking if we can use msg_acctrights for passing file descriptors',
|
||||||
headers='sys/types.h stdlib.h stddef.h sys/socket.h sys/un.h')
|
headers='sys/types.h stdlib.h stddef.h sys/socket.h sys/un.h')
|
||||||
|
|
||||||
default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam pdb_ldap
|
|
||||||
auth_sam auth_unix auth_winbind auth_wbc auth_server
|
|
||||||
auth_domain auth_builtin vfs_default
|
|
||||||
nss_info_template idmap_ldap idmap_tdb idmap_passdb
|
|
||||||
idmap_nss''')
|
|
||||||
|
|
||||||
default_shared_modules=TO_LIST('''vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk
|
|
||||||
vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap
|
|
||||||
vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850
|
|
||||||
charset_CP437 auth_script vfs_readahead vfs_xattr_tdb
|
|
||||||
vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb
|
|
||||||
vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly
|
|
||||||
vfs_crossrename vfs_linux_xfs_sgid
|
|
||||||
vfs_time_audit idmap_autorid''')
|
|
||||||
|
|
||||||
if Options.options.developer:
|
|
||||||
default_static_modules.extend(TO_LIST('pdb_ads auth_netlogond'))
|
|
||||||
default_shared_modules.extend(TO_LIST('charset_weird perfcount_test'))
|
|
||||||
|
|
||||||
if Options.options.with_acl_support and conf.CONFIG_SET('HAVE_POSIX_ACLS'):
|
|
||||||
default_static_modules.extend(TO_LIST('vfs_posixacl'))
|
|
||||||
|
|
||||||
if conf.CONFIG_SET('HAVE_FREEBSD_SUNACL_H'):
|
|
||||||
default_shared_modules.extend(TO_LIST('vfs_zfsacl'))
|
|
||||||
|
|
||||||
if conf.CONFIG_SET('HAVE_DIRFD_DECL'):
|
|
||||||
default_shared_modules.extend(TO_LIST('vfs_syncops vfs_dirsort'))
|
|
||||||
|
|
||||||
if conf.CONFIG_SET('HAVE_STATFS_F_FSID'):
|
|
||||||
default_shared_modules.extend(TO_LIST('vfs_fileid'))
|
|
||||||
|
|
||||||
if conf.CONFIG_SET('HAVE_AIO') and (conf.CONFIG_SET('HAVE_MSGHDR_MSG_CONTROL') or conf.CONFIG_SET('HAVE_MSGHDR_MSG_ACCTRIGHTS')):
|
|
||||||
default_shared_modules.extend(TO_LIST('vfs_aio_fork'))
|
|
||||||
|
|
||||||
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
|
|
||||||
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')
|
|
||||||
|
|
||||||
final_static_modules = default_static_modules
|
|
||||||
final_shared_modules = default_shared_modules
|
|
||||||
|
|
||||||
for m in explicit_static_modules:
|
|
||||||
if m in final_shared_modules:
|
|
||||||
final_shared_modules.remove(m)
|
|
||||||
final_static_modules.append(m)
|
|
||||||
for m in explicit_shared_modules:
|
|
||||||
if m in final_static_modules:
|
|
||||||
final_static_modules.remove(m)
|
|
||||||
final_shared_modules.append(m)
|
|
||||||
|
|
||||||
conf.env['static_modules'] = final_static_modules
|
|
||||||
conf.env['shared_modules'] = final_shared_modules
|
|
||||||
|
|
||||||
conf.DEFINE('STRING_STATIC_MODULES', ' '.join(final_static_modules), quote=True)
|
|
||||||
|
|
||||||
static_list = {}
|
|
||||||
shared_list = {}
|
|
||||||
|
|
||||||
prefixes = ['vfs', 'pdb', 'auth', 'nss_info', 'charset', 'idmap', 'gpext', 'perfcount']
|
|
||||||
conf.env['MODULE_PREFIXES'] = prefixes
|
|
||||||
for p in prefixes:
|
|
||||||
for m in final_static_modules:
|
|
||||||
if m.find(p) == 0:
|
|
||||||
if not p in static_list:
|
|
||||||
static_list[p] = []
|
|
||||||
static_list[p].append(m)
|
|
||||||
for m in final_shared_modules:
|
|
||||||
if m.find(p) == 0:
|
|
||||||
if not p in shared_list:
|
|
||||||
shared_list[p] = []
|
|
||||||
shared_list[p].append(m)
|
|
||||||
|
|
||||||
for p in prefixes:
|
|
||||||
static_env = "%s_STATIC" % p.upper()
|
|
||||||
shared_env = "%s_SHARED" % p.upper()
|
|
||||||
conf.env[static_env] = []
|
|
||||||
conf.env[shared_env] = []
|
|
||||||
if p in static_list:
|
|
||||||
decl_list=""
|
|
||||||
for entry in static_list[p]:
|
|
||||||
decl_list += "extern NTSTATUS %s_init(void); " % entry
|
|
||||||
conf.env[static_env].append('%s' % entry)
|
|
||||||
decl_list = decl_list.rstrip()
|
|
||||||
conf.DEFINE('static_decl_%s' % p, decl_list)
|
|
||||||
conf.DEFINE('static_init_%s' % p, '{ %s_init(); }' % '_init(); '.join(static_list[p]))
|
|
||||||
else:
|
|
||||||
conf.DEFINE('static_decl_%s' % p, '')
|
|
||||||
conf.DEFINE('static_init_%s' % p, '{}')
|
|
||||||
if p in shared_list:
|
|
||||||
for entry in shared_list[p]:
|
|
||||||
conf.DEFINE('%s_init' % entry, 'init_samba_module')
|
|
||||||
conf.env[shared_env].append('%s' % entry)
|
|
||||||
|
|
||||||
if Options.options.with_winbind:
|
if Options.options.with_winbind:
|
||||||
conf.env.build_winbind = True
|
conf.env.build_winbind = True
|
||||||
conf.DEFINE('WITH_WINBIND', '1')
|
conf.DEFINE('WITH_WINBIND', '1')
|
||||||
@ -615,6 +523,8 @@ msg.msg_acctrightslen = sizeof(fd);
|
|||||||
conf.CHECK_FUNCS_IN('httpConnect httpConnectEncrypt', 'cups')
|
conf.CHECK_FUNCS_IN('httpConnect httpConnectEncrypt', 'cups')
|
||||||
if conf.CONFIG_SET('HAVE_CUPS_CUPS_H') and conf.CONFIG_SET('HAVE_CUPS_LANGUAGE_H'):
|
if conf.CONFIG_SET('HAVE_CUPS_CUPS_H') and conf.CONFIG_SET('HAVE_CUPS_LANGUAGE_H'):
|
||||||
conf.DEFINE('HAVE_CUPS', '1')
|
conf.DEFINE('HAVE_CUPS', '1')
|
||||||
|
else:
|
||||||
|
conf.undefine('HAVE_CUPS')
|
||||||
else:
|
else:
|
||||||
# define an empty subsystem for cups, to allow it to be used as an empty dependency
|
# define an empty subsystem for cups, to allow it to be used as an empty dependency
|
||||||
conf.SET_TARGET_TYPE('cups', 'EMPTY')
|
conf.SET_TARGET_TYPE('cups', 'EMPTY')
|
||||||
@ -1092,6 +1002,101 @@ int i; i = PAM_RADIO_TYPE;
|
|||||||
'HAVE_LINUX_RTNETLINK_H',
|
'HAVE_LINUX_RTNETLINK_H',
|
||||||
msg='Checking whether Linux rtnetlink is available')
|
msg='Checking whether Linux rtnetlink is available')
|
||||||
|
|
||||||
|
default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam
|
||||||
|
auth_sam auth_unix auth_winbind auth_wbc auth_server
|
||||||
|
auth_domain auth_builtin vfs_default
|
||||||
|
nss_info_template idmap_tdb idmap_passdb
|
||||||
|
idmap_nss''')
|
||||||
|
|
||||||
|
default_shared_modules=TO_LIST('''vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk
|
||||||
|
vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap
|
||||||
|
vfs_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 charset_CP850
|
||||||
|
charset_CP437 auth_script vfs_readahead vfs_xattr_tdb
|
||||||
|
vfs_streams_xattr vfs_streams_depot vfs_acl_xattr vfs_acl_tdb
|
||||||
|
vfs_smb_traffic_analyzer vfs_preopen vfs_catia vfs_scannedonly
|
||||||
|
vfs_crossrename vfs_linux_xfs_sgid
|
||||||
|
vfs_time_audit idmap_autorid''')
|
||||||
|
|
||||||
|
if Options.options.developer:
|
||||||
|
default_static_modules.extend(TO_LIST('pdb_ads auth_netlogond'))
|
||||||
|
default_shared_modules.extend(TO_LIST('charset_weird perfcount_test'))
|
||||||
|
|
||||||
|
if Options.options.with_acl_support and conf.CONFIG_SET('HAVE_POSIX_ACLS'):
|
||||||
|
default_static_modules.extend(TO_LIST('vfs_posixacl'))
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_FREEBSD_SUNACL_H'):
|
||||||
|
default_shared_modules.extend(TO_LIST('vfs_zfsacl'))
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_DIRFD_DECL'):
|
||||||
|
default_shared_modules.extend(TO_LIST('vfs_syncops vfs_dirsort'))
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_STATFS_F_FSID'):
|
||||||
|
default_shared_modules.extend(TO_LIST('vfs_fileid'))
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_AIO') and (conf.CONFIG_SET('HAVE_MSGHDR_MSG_CONTROL') or conf.CONFIG_SET('HAVE_MSGHDR_MSG_ACCTRIGHTS')):
|
||||||
|
default_shared_modules.extend(TO_LIST('vfs_aio_fork'))
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_LDAP'):
|
||||||
|
default_static_modules.extend(TO_LIST('pdb_ldap idmap_ldap'))
|
||||||
|
|
||||||
|
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
|
||||||
|
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')
|
||||||
|
|
||||||
|
final_static_modules = default_static_modules
|
||||||
|
final_shared_modules = default_shared_modules
|
||||||
|
|
||||||
|
for m in explicit_static_modules:
|
||||||
|
if m in final_shared_modules:
|
||||||
|
final_shared_modules.remove(m)
|
||||||
|
final_static_modules.append(m)
|
||||||
|
for m in explicit_shared_modules:
|
||||||
|
if m in final_static_modules:
|
||||||
|
final_static_modules.remove(m)
|
||||||
|
final_shared_modules.append(m)
|
||||||
|
|
||||||
|
conf.env['static_modules'] = final_static_modules
|
||||||
|
conf.env['shared_modules'] = final_shared_modules
|
||||||
|
|
||||||
|
conf.DEFINE('STRING_STATIC_MODULES', ' '.join(final_static_modules), quote=True)
|
||||||
|
|
||||||
|
static_list = {}
|
||||||
|
shared_list = {}
|
||||||
|
|
||||||
|
prefixes = ['vfs', 'pdb', 'auth', 'nss_info', 'charset', 'idmap', 'gpext', 'perfcount']
|
||||||
|
conf.env['MODULE_PREFIXES'] = prefixes
|
||||||
|
for p in prefixes:
|
||||||
|
for m in final_static_modules:
|
||||||
|
if m.find(p) == 0:
|
||||||
|
if not p in static_list:
|
||||||
|
static_list[p] = []
|
||||||
|
static_list[p].append(m)
|
||||||
|
for m in final_shared_modules:
|
||||||
|
if m.find(p) == 0:
|
||||||
|
if not p in shared_list:
|
||||||
|
shared_list[p] = []
|
||||||
|
shared_list[p].append(m)
|
||||||
|
|
||||||
|
for p in prefixes:
|
||||||
|
static_env = "%s_STATIC" % p.upper()
|
||||||
|
shared_env = "%s_SHARED" % p.upper()
|
||||||
|
conf.env[static_env] = []
|
||||||
|
conf.env[shared_env] = []
|
||||||
|
if p in static_list:
|
||||||
|
decl_list=""
|
||||||
|
for entry in static_list[p]:
|
||||||
|
decl_list += "extern NTSTATUS %s_init(void); " % entry
|
||||||
|
conf.env[static_env].append('%s' % entry)
|
||||||
|
decl_list = decl_list.rstrip()
|
||||||
|
conf.DEFINE('static_decl_%s' % p, decl_list)
|
||||||
|
conf.DEFINE('static_init_%s' % p, '{ %s_init(); }' % '_init(); '.join(static_list[p]))
|
||||||
|
else:
|
||||||
|
conf.DEFINE('static_decl_%s' % p, '')
|
||||||
|
conf.DEFINE('static_init_%s' % p, '{}')
|
||||||
|
if p in shared_list:
|
||||||
|
for entry in shared_list[p]:
|
||||||
|
conf.DEFINE('%s_init' % entry, 'init_samba_module')
|
||||||
|
conf.env[shared_env].append('%s' % entry)
|
||||||
|
|
||||||
conf.SAMBA_CONFIG_H('include/config.h')
|
conf.SAMBA_CONFIG_H('include/config.h')
|
||||||
|
|
||||||
def ctags(ctx):
|
def ctags(ctx):
|
||||||
|
Loading…
Reference in New Issue
Block a user