libafs: vldb cache timeout option (-volume-ttl)
[openafs.git] / acinclude.m4
index 0a90e16..1b2007c 100644 (file)
@@ -111,6 +111,11 @@ AC_ARG_ENABLE([pthreaded-ubik],
          enabled)])],
     [],
     [enable_pthreaded_ubik="yes"])
+AC_ARG_ENABLE([ubik-read-while-write],
+    [AS_HELP_STRING([--enable-ubik-read-while-write],
+       [enable vlserver read from db cache during write locks (EXPERIMENTAL)])],
+    [],
+    [enable_ubik_read_while_write="no"])
 
 dnl Kernel module build options.
 AC_ARG_WITH([linux-kernel-headers],
@@ -456,11 +461,7 @@ case $system in
         *-solaris*)
                MKAFS_OSTYPE=SOLARIS
                 AC_MSG_RESULT(sun4)
-               AC_PATH_PROG(SOLARISCC, [cc], ,
-                   [/opt/SUNWspro/bin:/opt/SunStudioExpress/bin:/opt/solarisstudio12.3/bin:/opt/solstudio12.2/bin:/opt/sunstudio12.1/bin])
-               if test "x$SOLARISCC" = "x" ; then
-                   AC_MSG_FAILURE(Could not find the solaris cc program.  Please define the environment variable SOLARISCC to specify the path.)
-               fi
+               SOLARIS_PATH_CC
                SOLARIS_UFSVFS_HAS_DQRWLOCK
                SOLARIS_FS_HAS_FS_ROLLED
                SOLARIS_SOLOOKUP_TAKES_SOCKPARAMS
@@ -693,6 +694,14 @@ else
                        AFS_SYSNAME="x86_darwin_150"
                        OSXSDK="macosx10.11"
                        ;;
+               x86_64-apple-darwin16.*)
+                       AFS_SYSNAME="x86_darwin_160"
+                       OSXSDK="macosx10.12"
+                       ;;
+               i?86-apple-darwin16.*)
+                       AFS_SYSNAME="x86_darwin_160"
+                       OSXSDK="macosx10.12"
+                       ;;
                sparc-sun-solaris2.8)
                        AFS_SYSNAME="sun4x_58"
                        ;;
@@ -912,6 +921,12 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                                          [#include <linux/fs.h>],
                                          [void],
                                          [struct inode *inode, void *link_data])
+                AC_CHECK_LINUX_OPERATION([inode_operations], [rename], [takes_flags],
+                                         [#include <linux/fs.h>],
+                                         [int],
+                                         [struct inode *oinode, struct dentry *odentry,
+                                               struct inode *ninode, struct dentry *ndentry,
+                                               unsigned int flags])
 
                 dnl Check for header files
                 AC_CHECK_LINUX_HEADER([config.h])
@@ -935,6 +950,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_STRUCT([ctl_table], [ctl_name], [sysctl.h])
                 AC_CHECK_LINUX_STRUCT([dentry], [d_u.d_alias], [dcache.h])
                 AC_CHECK_LINUX_STRUCT([dentry_operations], [d_automount], [dcache.h])
+                AC_CHECK_LINUX_STRUCT([group_info], [gid], [cred.h])
                 AC_CHECK_LINUX_STRUCT([inode], [i_alloc_sem], [fs.h])
                 AC_CHECK_LINUX_STRUCT([inode], [i_blkbits], [fs.h])
                 AC_CHECK_LINUX_STRUCT([inode], [i_blksize], [fs.h])
@@ -1015,6 +1031,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_FUNC([do_sync_read],
                                     [#include <linux/fs.h>],
                                     [do_sync_read(NULL, NULL, 0, NULL);])
+                AC_CHECK_LINUX_FUNC([file_dentry],
+                                    [#include <linux/fs.h>],
+                                    [struct file *f; file_dentry(f);])
                 AC_CHECK_LINUX_FUNC([find_task_by_pid],
                                     [#include <linux/sched.h>],
                                     [pid_t p; find_task_by_pid(p);])
@@ -1070,6 +1089,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_FUNC([set_nlink],
                                     [#include <linux/fs.h>],
                                     [set_nlink(NULL, 1);])
+                AC_CHECK_LINUX_FUNC([setattr_prepare],
+                                    [#include <linux/fs.h>],
+                                    [setattr_prepare(NULL, NULL);])
                 AC_CHECK_LINUX_FUNC([sock_create_kern],
                                     [#include <linux/net.h>],
                                     [sock_create_kern(0, 0, 0, NULL);])
@@ -1409,6 +1431,10 @@ else
 fi
 AC_SUBST(USE_UNIX_SOCKETS)
 
+if test "$enable_ubik_read_while_write" = "yes"; then
+       AC_DEFINE(UBIK_READ_WHILE_WRITE, 1, [define if you want to enable ubik read while write])
+fi
+
 if test "$enable_namei_fileserver" = "yes"; then
        AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
        VFSCK=""
@@ -1593,7 +1619,7 @@ if test "$enable_debug_locks" = yes; then
 fi
 
 if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
-       HAVE_PAM="YES"
+       HAVE_PAM="yes"
 else
        HAVE_PAM="no"
 fi