+
+ default_static_modules=TO_LIST('''pdb_smbpasswd pdb_tdbsam pdb_wbc_sam rpc_lsarpc rpc_samr
+ rpc_winreg rpc_initshutdown rpc_dssetup rpc_wkssvc rpc_svcctl
+ rpc_ntsvcs rpc_netlogon rpc_netdfs rpc_srvsvc rpc_spoolss
+ rpc_eventlog auth_sam auth_unix auth_winbind auth_wbc auth_server
+ auth_domain auth_builtin auth_netlogond vfs_default
+ nss_info_template''')
+
+ 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''')
+
+ if Options.options.developer:
+ default_static_modules.extend(TO_LIST('rpc_rpcecho pdb_ads'))
+ default_shared_modules.extend(TO_LIST('charset_weird perfcount_test'))
+
+ move_to_shared = TO_LIST(Options.options.shared_modules)
+ move_to_static = TO_LIST(Options.options.static_modules)
+
+ for m in move_to_static:
+ if m in default_shared_modules:
+ default_shared_modules.remove(m)
+ default_static_modules.append(m)
+ for m in move_to_shared:
+ if m in default_static_modules:
+ default_static_modules.remove(m)
+ default_shared_modules.append(m)
+
+ conf.DEFINE('STRING_STATIC_MODULES', ' '.join(default_static_modules), quote=True)
+
+ static_list = {}
+
+ prefixes = ['vfs', 'pdb', 'rpc', 'auth', 'nss_info', 'charset', 'idmap']
+ for p in prefixes:
+ for m in default_static_modules:
+ if m.find(p) == 0:
+ if not p in static_list:
+ static_list[p] = []
+ static_list[p].append(m)
+
+ for p in prefixes:
+ if p in static_list:
+ conf.DEFINE('static_init_%s' % p, '{ %s_init(); }' % '_init(); '.join(static_list[p]))
+ else:
+ conf.DEFINE('static_init_%s' % p, '{}')
+