diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2014-03-05 15:06:02 +1300 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2014-03-08 03:54:08 +0100 |
| commit | 11cb110e2fb3f814aa4efde0d7924535c8510315 (patch) | |
| tree | d6b6257124bf84d13cd67aeb19304cde5fd513b5 /source3/wscript | |
| parent | 3ac9cb3d17c5252383e8f971818a426c6ad68c2d (diff) | |
| download | samba-11cb110e2fb3f814aa4efde0d7924535c8510315.tar.gz samba-11cb110e2fb3f814aa4efde0d7924535c8510315.tar.xz samba-11cb110e2fb3f814aa4efde0d7924535c8510315.zip | |
build: Do not rely on sys.platform for ACL tests, combine UnixWare and Solaris ACL tests
This avoids issues with whatever sys.platform may return, fixes the
order of arguments to the CHECK_FUNCS_IN call, and only runs after
Linux-style POSIX ACL detection fails.
Andrew Bartlett
Change-Id: I930dff1e03c1cd1ceb8f3a35823ceb805694b66a
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Tested-by: Thomas Schulz <schulz@adi.com>
Diffstat (limited to 'source3/wscript')
| -rw-r--r-- | source3/wscript | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/source3/wscript b/source3/wscript index 45eb33ba01..d0bfca7965 100644 --- a/source3/wscript +++ b/source3/wscript @@ -418,15 +418,7 @@ utimensat vsyslog _write __write __xstat conf.DEFINE('STAT_ST_BLOCKSIZE', '512') if Options.options.with_acl_support: - if (host_os.rfind('sysv5') > -1) and conf.CHECK_FUNCS_IN('sec', 'facl', checklibc=True): - Logs.info('Using UnixWare ACLs') - conf.DEFINE('HAVE_UNIXWARE_ACLS',1) - default_static_modules.extend(TO_LIST('vfs_solarisacl')) - elif (host_os.rfind('solaris') > -1) and conf.CHECK_FUNCS_IN('sec', 'facl'): - Logs.info('Using solaris ACLs') - conf.DEFINE('HAVE_SOLARIS_ACLS',1) - default_static_modules.extend(TO_LIST('vfs_solarisacl')) - elif (host_os.rfind('hpux') > -1): + if (host_os.rfind('hpux') > -1): Logs.info('Using HPUX ACLs') conf.DEFINE('HAVE_HPUX_ACLS',1) conf.DEFINE('POSIX_ACL_NEEDS_MASK',1) @@ -435,10 +427,6 @@ utimensat vsyslog _write __write __xstat Logs.info('Using AIX ACLs') conf.DEFINE('HAVE_AIX_ACLS',1) default_static_modules.extend(TO_LIST('vfs_aixacl vfs_aixacl2')) - elif (host_os.rfind('osf') > -1) and conf.CHECK_FUNCS_IN('pacl', 'acl_get_fd'): - Logs.info('Using Tru64 ACLs') - conf.DEFINE('HAVE_TRU64_ACLS',1) - default_static_modules.extend(TO_LIST('vfs_tru64acl')) elif (host_os.rfind('darwin') > -1): Logs.warn('ACLs on Darwin currently not supported') conf.fatal("ACL support not available on Darwin/MacOS. " @@ -447,7 +435,7 @@ utimensat vsyslog _write __write __xstat "ACL support is required to change permissions " "from Windows clients.") else: - conf.CHECK_FUNCS_IN('acl_get_file', 'acl') + conf.CHECK_FUNCS_IN(['acl_get_file'], 'acl') if conf.CHECK_CODE(''' acl_t acl; int entry_id; @@ -466,6 +454,14 @@ return acl_get_perm_np(permset_d, perm); headers='sys/types.h sys/acl.h', link=True, msg="Checking whether acl_get_perm_np() is available") default_static_modules.extend(TO_LIST('vfs_posixacl')) + elif conf.CHECK_FUNCS_IN(['facl'], 'sec'): + Logs.info('Using solaris or UnixWare ACLs') + conf.DEFINE('HAVE_SOLARIS_UNIXWARE_ACLS',1) + default_static_modules.extend(TO_LIST('vfs_solarisacl')) + elif conf.CHECK_FUNCS_IN('pacl', 'acl_get_fd'): + Logs.info('Using Tru64 ACLs') + conf.DEFINE('HAVE_TRU64_ACLS',1) + default_static_modules.extend(TO_LIST('vfs_tru64acl')) else: conf.fatal("ACL support not found. Try installing libacl1-dev " "or libacl-devel. " |
