From fc6bb5d47a985d0215c2a8ea9a00c21abf131ad9 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 9 Sep 2011 23:51:06 +1000 Subject: lib/util/charset: add back loading of charset modules For autoconf builds these remain as modules, for waf builds they are built into the charset library. This is required to provide the CP850 charset when iconv is not available. The charset modules static for the waf builds because with proper shared libs, there isn't the same need for these to be in seperate .so files. The modules are also not produced if a system iconv is found, except for developers, to allow testing of both code paths. Andrew Bartlett --- source3/wscript | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'source3/wscript') diff --git a/source3/wscript b/source3/wscript index f7c12a83bf..165146cf6f 100644 --- a/source3/wscript +++ b/source3/wscript @@ -125,6 +125,7 @@ def configure(conf): conf.RECURSE('../lib/zlib') conf.RECURSE('../libcli/smbreadline') conf.RECURSE('../lib/util') + conf.RECURSE('../lib/util/charset') conf.ADD_EXTRA_INCLUDES('''#source3 #source3/include #lib/replace #lib''') if not conf.env.USING_SYSTEM_TDB: @@ -1713,6 +1714,9 @@ main() { if conf.CHECK_HEADERS('gpfs_gpl.h'): conf.DEFINE('HAVE_GPFS', '1') + # Note that all charset 'modules' must actually be static, due to dependency loop issues + # if we include the module loader in iconv + 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 @@ -1721,16 +1725,19 @@ main() { 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_expand_msdfs vfs_shadow_copy vfs_shadow_copy2 + 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')) + default_static_modules.extend(TO_LIST('pdb_ads auth_netlogond charset_weird')) + default_shared_modules.extend(TO_LIST('perfcount_test')) + + if Options.options.developer or not conf.CONFIG_SET('HAVE_NATIVE_ICONV'): + default_static_modules.extend(TO_LIST('charset_CP850 charset_CP437')) if conf.env.toplevel_build: default_static_modules.extend(TO_LIST('pdb_samba4 auth_samba4')) @@ -1754,7 +1761,7 @@ main() { default_static_modules.extend(TO_LIST('pdb_ldap idmap_ldap')) if conf.CONFIG_SET('DARWINOS'): - default_shared_modules.extend(TO_LIST('charset_macosxfs')) + default_static_modules.extend(TO_LIST('charset_macosxfs')) if conf.CONFIG_SET('HAVE_GPFS'): default_shared_modules.extend(TO_LIST('vfs_gpfs vfs_gpfs_hsm_notify')) -- cgit