summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2011-01-31 09:38:21 +0100
committerGünther Deschner <gd@samba.org>2011-01-31 10:51:10 +0100
commit35a7bebe2bc2c26ad2ee0a2ef9ce4217ca42e0ef (patch)
treea01452dee7abeb6a88c6d6212c802a818a9ed5d2
parentc9cb42a27634a0a711d48762c779c6b2f7c338e2 (diff)
downloadsamba-35a7bebe2bc2c26ad2ee0a2ef9ce4217ca42e0ef.tar.gz
samba-35a7bebe2bc2c26ad2ee0a2ef9ce4217ca42e0ef.tar.bz2
samba-35a7bebe2bc2c26ad2ee0a2ef9ce4217ca42e0ef.zip
s3-waf: On FreeBSD, compile zfsacl if sunacl.h is around.
Volker, please check. Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Mon Jan 31 10:51:10 CET 2011 on sn-devel-104
-rw-r--r--source3/modules/wscript_build2
-rw-r--r--source3/wscript9
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/modules/wscript_build b/source3/modules/wscript_build
index 32dfa40f3f..29d4d8f234 100644
--- a/source3/modules/wscript_build
+++ b/source3/modules/wscript_build
@@ -204,7 +204,7 @@ bld.SAMBA_MODULE('vfs_solarisacl',
bld.SAMBA_MODULE('vfs_zfsacl',
subsystem='vfs',
source=VFS_ZFSACL_SRC,
- deps='NFS4_ACLS',
+ deps='NFS4_ACLS sunacl',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
diff --git a/source3/wscript b/source3/wscript
index e286e8fb3e..89ee79fe70 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -285,6 +285,8 @@ utimensat vsyslog _write __write __xstat
# Python doesn't have case switches... :/
# FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*)
# the search for .rfind('gnu') covers gnu* and *-gnu is that too broad?
+
+ conf.SET_TARGET_TYPE('sunacl', 'EMPTY')
if (host_os.rfind('linux') > -1) or (host_os.rfind('gnu') > -1) or (host_os.rfind('qnx') > -1):
if host_os.rfind('linux') > -1:
conf.DEFINE('LINUX', '1')
@@ -295,6 +297,10 @@ utimensat vsyslog _write __write __xstat
conf.DEFINE('DARWINOS', 1)
conf.DEFINE('STAT_ST_BLOCKSIZE', '512')
conf.ADD_CFLAGS('-fno-common')
+ elif (host_os.rfind('freebsd') > -1):
+ if conf.CHECK_HEADERS('sunacl.h'):
+ conf.define('HAVE_FREEBSD_SUNACL_H', '1')
+ conf.CHECK_FUNCS_IN('acl', 'sunacl')
# FIXME: Add more checks here.
else:
print "Unknown host_os '%s', please report this to samba-technical@samba.org" % host_os
@@ -418,6 +424,9 @@ return acl_get_perm_np(permset_d, perm);
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'))