missing-linux-fh-configure-switch-20081113
[openafs.git] / acinclude.m4
index 765fab5..d46dbb5 100644 (file)
@@ -180,6 +180,12 @@ AC_ARG_ENABLE([pthreaded-ubik],
          disabled)])],
     ,
     [enable_pthreaded_ubik="no"])
+AC_ARG_ENABLE([linux-fh],
+    [AS_HELP_STRING([--enable-linux-fh],
+        [enable opening cache files by file hande instead of inode numbers
+         with linux (defaults to disabled)])],
+    ,
+    [enable_linux_fh="no"])
 
 dnl Kernel module build options.
 AC_ARG_WITH([dux-kernel-headers],
@@ -190,6 +196,10 @@ AC_ARG_WITH([linux-kernel-headers],
     [AS_HELP_STRING([--with-linux-kernel-headers=path],
         [use the kernel headers found at path (optional, defaults to
          /usr/src/linux-2.4, then /usr/src/linux)])])
+AC_ARG_WITH([linux-kernel-build],
+    [AS_HELP_STRING([--with-linux-kernel-build=path],
+       [use the kernel build found at path(optional, defaults to 
+       /usr/src/linux-2.4, then /usr/src/linux)])])
 AC_ARG_WITH([bsd-kernel-headers],
     [AS_HELP_STRING([--with-bsd-kernel-headers=path],
         [use the kernel headers found at path (optional, defaults to
@@ -291,9 +301,9 @@ AC_ARG_ENABLE([optimize-pam],
 enable_login="no"
 
 dnl weird ass systems
-AC_AIX
+dnl AC_AIX
 AC_ISC_POSIX
-AC_MINIX
+dnl AC_MINIX
 
 dnl Various compiler setup.
 AC_TYPE_PID_T
@@ -334,15 +344,20 @@ case $system in
                     LINUX_KERNEL_PATH="/usr/src/linux"
                   fi
                 fi
-               if test -f "$LINUX_KERNEL_PATH/include/linux/utsrelease.h"; then
-                linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+                if test "x$with_linux_kernel_build" != "x"; then
+                        LINUX_KERNEL_BUILD="$with_linux_kernel_build"
+                else
+                  LINUX_KERNEL_BUILD=$LINUX_KERNEL_PATH
+                fi
+               if test -f "$LINUX_KERNEL_BUILD/include/linux/utsrelease.h"; then
+                linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
                 LINUX_VERSION="$linux_kvers"
                else
-                if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                 linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+                if test -f "$LINUX_KERNEL_BUILD/include/linux/version.h"; then
+                 linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
                  if test "x$linux_kvers" = "x"; then
-                   if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
-                     linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+                   if test -f "$LINUX_KERNEL_BUILD/include/linux/version-up.h"; then
+                     linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
                      if test "x$linux_kvers" = "x"; then
 
                        AC_MSG_ERROR(Linux headers lack version definition [2])
@@ -361,7 +376,7 @@ case $system in
                     enable_kernel_module="no"
                  fi
                fi
-                if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
+                if test ! -f "$LINUX_KERNEL_BUILD/include/linux/autoconf.h"; then
                     enable_kernel_module="no"
                 fi
                 if test "x$enable_kernel_module" = "xno"; then
@@ -802,6 +817,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_EXPORTS_FIND_TASK_BY_PID
                 LINUX_EXPORTS_PROC_ROOT_FS
                  LINUX_HAVE_CURRENT_KERNEL_TIME
+                LINUX_HAVE_WRITE_BEGIN_AOP
+                 LINUX_HAVE_BDI_INIT
                  LINUX_KMEM_CACHE_INIT
                 LINUX_HAVE_KMEM_CACHE_T
                 LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
@@ -1140,6 +1157,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
                  AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
                 fi
+                if test "$enable_linux_fh" = "yes"; then
+                 AC_DEFINE(LINUX_USE_FH, 1, [define if you want to open cache files by file handle instead of inode numbers])
+                fi
                 if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
                  AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
                 else
@@ -1435,15 +1455,7 @@ if test "$enable_tivoli_tsm" = "yes"; then
        XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
        XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
 
-       if test -r "$XBSADIR1/xbsa.h"; then
-               XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
-               XBSA_XLIBS=""
-               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
-       elif test -r "$XBSADIR2/xbsa.h"; then
-               XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
-               XBSA_XLIBS=""
-               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
-       elif test -r "$XBSADIR3/dsmapifp.h"; then
+       if test -r "$XBSADIR3/dsmapifp.h"; then
                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
                XBSA_XLIBS="-ldl"
                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
@@ -1451,6 +1463,14 @@ if test "$enable_tivoli_tsm" = "yes"; then
                XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
                XBSA_XLIBS="-ldl"
                AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+       elif test -r "$XBSADIR1/xbsa.h"; then
+               XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+               XBSA_XLIBS=""
+               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+       elif test -r "$XBSADIR2/xbsa.h"; then
+               XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+               XBSA_XLIBS=""
+               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
        else
                AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
        fi
@@ -1574,6 +1594,7 @@ AC_SUBST(ENABLE_KERNEL_MODULE)
 AC_SUBST(ENABLE_PTHREADED_UBIK)
 AC_SUBST(LIB_AFSDB)
 AC_SUBST(LINUX_KERNEL_PATH)
+AC_SUBST(LINUX_KERNEL_BUILD)
 AC_SUBST(HOST_CPU)
 AC_SUBST(BSD_KERNEL_PATH)
 AC_SUBST(BSD_KERNEL_BUILD)