summaryrefslogtreecommitdiffstats
path: root/source3/wscript
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2014-03-05 15:06:02 +1300
committerAndrew Bartlett <abartlet@samba.org>2014-03-08 03:54:08 +0100
commit11cb110e2fb3f814aa4efde0d7924535c8510315 (patch)
treed6b6257124bf84d13cd67aeb19304cde5fd513b5 /source3/wscript
parent3ac9cb3d17c5252383e8f971818a426c6ad68c2d (diff)
downloadsamba-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/wscript24
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. "