summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/Makefile.in2
-rw-r--r--source3/configure.in14
-rw-r--r--source3/modules/vfs_zfsacl.c4
3 files changed, 18 insertions, 2 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index 5a4435badb..4cb9a9fb5c 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -2888,7 +2888,7 @@ bin/solarisacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_SOLARISACL_OBJ)
bin/zfsacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ZFSACL_OBJ)
@echo "Building plugin $@"
- @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ)
+ @$(SHLD_MODULE) $(VFS_ZFSACL_OBJ) @ZFSACL_LIBS@
bin/irixacl.@SHLIBEXT@: $(BINARY_PREREQS) $(VFS_IRIXACL_OBJ)
@echo "Building plugin $@"
diff --git a/source3/configure.in b/source3/configure.in
index dea167e0dd..cfaf99ba7b 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -5659,7 +5659,19 @@ else
esac
fi # with_acl_support
-
+#################################################
+# check if we have FreeBSD sunacl
+case "$host_os" in
+*freebsd*)
+ AC_CHECK_HEADER(sunacl.h)
+ if test x"$ac_cv_header_sunacl_h" = xyes ; then
+ AC_DEFINE(HAVE_FREEBSD_SUNACL_H,1,[Whether we have FreeBSD sunacl around])
+ ZFSACL_LIBS=-lsunacl
+ AC_SUBST(ZFSACL_LIBS)
+ default_shared_modules="$default_shared_modules vfs_zfsacl"
+ fi
+ ;;
+esac
#################################################
# check for AIO support
diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c
index 8a2c378e05..c5277a6b2c 100644
--- a/source3/modules/vfs_zfsacl.c
+++ b/source3/modules/vfs_zfsacl.c
@@ -25,6 +25,10 @@
#include "includes.h"
#include "nfs4_acls.h"
+#if HAVE_FREEBSD_SUNACL_H
+#include "sunacl.h"
+#endif
+
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS