linux-lock-tracking-20070208
[openafs.git] / acinclude.m4
index 8d8e826..50a9419 100644 (file)
@@ -263,61 +263,53 @@ else
                        AFS_SYSNAME="i386_fbsd_${vM}${vm}"
                        ;;
                i?86-*-netbsd*1.5*)
-                       AFS_PARAM_COMMON=param.nbsd15.h
                        AFS_SYSNAME="i386_nbsd15"
                        ;;
                alpha-*-netbsd*1.5*)
-                       AFS_PARAM_COMMON=param.nbsd15.h
                        AFS_SYSNAME="alpha_nbsd15"
                        ;;
                i?86-*-netbsd*1.6[[M-Z]]*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
                        AFS_SYSNAME="i386_nbsd20"
                        ;;
                powerpc-*-netbsd*1.6[[M-Z]]*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
                        AFS_SYSNAME="ppc_nbsd20"
                        ;;
                i?86-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
                        AFS_SYSNAME="i386_nbsd20"
                        ;;
                amd64-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
                        AFS_SYSNAME="amd64_nbsd20"
                        ;;
                powerpc-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
                        AFS_SYSNAME="ppc_nbsd20"
                        ;;
                i?86-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
                        AFS_SYSNAME="i386_nbsd16"
                        ;;
                alpha-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
                        AFS_SYSNAME="alpha_nbsd16"
                        ;;
                powerpc-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
                        AFS_SYSNAME="ppc_nbsd16"
                        ;;
                i?86-*-netbsd*2.1*)
-                       AFS_PARAM_COMMON=param.nbsd21.h
                        AFS_SYSNAME="i386_nbsd21"
                        ;;
                i?86-*-netbsd*2.99*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
                        AFS_SYSNAME="i386_nbsd30"
                        ;;
-               i?86-*-netbsd*3.0*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
+               i?86-*-netbsd*3.[[0-8]]*)
                        AFS_SYSNAME="i386_nbsd30"
                        ;;
                i?86-*-netbsd*3.99*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
                        AFS_SYSNAME="i386_nbsd30"
                        ;;
+               i?86-*-netbsd*4.[[0-8]]*)
+                       AFS_SYSNAME="i386_nbsd40"
+                       ;;
+               i?86-*-netbsd*4.99*)
+                       AFS_SYSNAME="i386_nbsd40"
+                       ;;
                hppa*-hp-hpux11.0*)
                        AFS_SYSNAME="hp_ux110"
                        ;;
@@ -427,6 +419,9 @@ else
                sparc-sun-solaris2.10)
                        AFS_SYSNAME="sun4x_510"
                        ;;
+               sparc-sun-solaris2.11)
+                       AFS_SYSNAME="sun4x_511"
+                       ;;
                sparc-sun-sunos4*)
                        AFS_SYSNAME="sun4_413"
                        enable_login="yes"
@@ -443,6 +438,9 @@ else
                i386-pc-solaris2.10)
                        AFS_SYSNAME="sunx86_510"
                        ;;
+               i386-pc-solaris2.11)
+                       AFS_SYSNAME="sunx86_511"
+                       ;;
                alpha*-dec-osf4.0*)
                        AFS_SYSNAME="alpha_dux40"
                        ;;
@@ -522,7 +520,6 @@ else
                        fi
                        _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
                        AFS_SYSNAME="$_AFS_SYSNAME"
-                       AFS_PARAM_COMMON="param.linux${AFS_SYSKVERS}.h"
                        save_CPPFLAGS="$CPPFLAGS"
                        CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
                        AC_TRY_COMPILE(
@@ -541,6 +538,20 @@ else
         AC_MSG_RESULT($AFS_SYSNAME)
 fi
 
+dnl Some hosts have a separate common param file they should include.  Figure
+dnl out if we're on one of them now that we know the sysname.
+case $AFS_SYSNAME in
+    *_nbsd15)   AFS_PARAM_COMMON=param.nbsd15.h  ;;
+    *_nbsd16)   AFS_PARAM_COMMON=param.nbsd16.h  ;;
+    *_nbsd20)   AFS_PARAM_COMMON=param.nbsd20.h  ;;
+    *_nbsd21)   AFS_PARAM_COMMON=param.nbsd21.h  ;;
+    *_nbsd30)   AFS_PARAM_COMMON=param.nbsd30.h  ;;
+    *_nbsd40)   AFS_PARAM_COMMON=param.nbsd40.h  ;;
+    *_linux22)  AFS_PARAM_COMMON=param.linux22.h ;;
+    *_linux24)  AFS_PARAM_COMMON=param.linux24.h ;;
+    *_linux26)  AFS_PARAM_COMMON=param.linux26.h ;;
+esac
+
 case $AFS_SYSNAME in *_linux* | *_umlinux*)
 
                # Add (sub-) architecture-specific paths needed by conftests
@@ -568,6 +579,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                   [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
                 )
 
+                LINUX_KERNEL_COMPILE_WORKS
+                LINUX_CONFIG_H_EXISTS
                 LINUX_COMPLETION_H_EXISTS
                 LINUX_DEFINES_FOR_EACH_PROCESS
                 LINUX_DEFINES_PREV_TASK
@@ -575,6 +588,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
                 LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
                 LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
+                LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS
                 LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
                 LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
                 LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
@@ -592,6 +606,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
                 LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
                 LINUX_AOP_WRITEBACK_CONTROL
+                LINUX_FS_STRUCT_FOP_HAS_FLOCK
                 LINUX_KERNEL_LINUX_SYSCALL_H
                 LINUX_KERNEL_LINUX_SEQ_FILE_H
                 LINUX_KERNEL_SELINUX
@@ -607,12 +622,20 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
+                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
+                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
                 LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
+                LINUX_STATFS_TAKES_DENTRY
+                LINUX_FREEZER_H_EXISTS
+                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
+                 AC_DEFINE(FREEZER_H_EXISTS, 1, [define if you have linux/freezer.h])
+                fi
                 LINUX_REFRIGERATOR
                 LINUX_LINUX_KEYRING_SUPPORT
                 LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
                 LINUX_DO_SYNC_READ
                 LINUX_GENERIC_FILE_AIO_READ
+                LINUX_INIT_WORK_HAS_DATA
                  LINUX_EXPORTS_SYS_CHDIR
                  LINUX_EXPORTS_SYS_CLOSE
                  LINUX_EXPORTS_SYS_OPEN
@@ -683,6 +706,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
                  AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
                 fi
+                if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
+                 AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
+                fi
                 if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
                  AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
                 fi
@@ -776,9 +802,18 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then 
                  AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state])
                 fi
+                if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then 
+                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TGID, 1, [define if your struct task_struct has tgid])
+                fi
+                if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then 
+                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
+                fi
                 if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
                  AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
                 fi
+                if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
+                 AC_DEFINE(STATFS_TAKES_DENTRY, 1, [define if your statfs takes a dentry argument])
+                fi
                 if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
                  AC_DEFINE(AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL, 1, [define if your aops.writepage takes a struct writeback_control argument])
                 fi
@@ -797,6 +832,12 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
                  AC_DEFINE(DOP_REVALIDATE_TAKES_NAMEIDATA, 1, [define if your dops.d_revalidate takes a nameidata argument])
                 fi
+                if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
+                 AC_DEFINE(INIT_WORK_HAS_DATA, 1, [define if INIT_WORK takes a data (3rd) argument])
+                fi
+                if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
+                 AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_FLOCK, 1, [define if your struct file_operations has flock])
+                fi
                 :
                fi
 esac