191b603d11725f20adac98925b1ab0fb5719d272
[openafs.git] / src / cf / linux-kernel-assorted.m4
1 AC_DEFUN([OPENAFS_LINUX_KERNEL_ASSORTED_CHECKS],[
2 dnl Assorted more complex tests
3 LINUX_AIO_NONVECTOR
4 LINUX_EXPORTS_PROC_ROOT_FS
5 LINUX_KMEM_CACHE_INIT
6 LINUX_HAVE_KMEM_CACHE_T
7 LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
8 LINUX_KMEM_CACHE_CREATE_CTOR_TAKES_VOID
9 LINUX_D_PATH_TAKES_STRUCT_PATH
10 LINUX_NEW_EXPORT_OPS
11 LINUX_INODE_SETATTR_RETURN_TYPE
12 LINUX_IATTR_64BIT_TIME
13 LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
14 LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
15 LINUX_IOP_I_PERMISSION_TAKES_FLAGS
16 LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
17 LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
18 LINUX_DOP_D_DELETE_TAKES_CONST
19 LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
20 LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
21 LINUX_FOP_F_FSYNC_TAKES_DENTRY
22 LINUX_FOP_F_FSYNC_TAKES_RANGE
23 LINUX_AOP_WRITEBACK_CONTROL
24 LINUX_FS_STRUCT_FOP_HAS_SPLICE
25 LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
26 LINUX_KERNEL_PAGEVEC_INIT_COLD_ARG
27 LINUX_POSIX_TEST_LOCK_RETURNS_CONFLICT
28 LINUX_POSIX_TEST_LOCK_CONFLICT_ARG
29 LINUX_KERNEL_SOCK_CREATE
30 LINUX_EXPORTS_KEY_TYPE_KEYRING
31 LINUX_NEED_RHCONFIG
32 LINUX_RECALC_SIGPENDING_ARG_TYPE
33 LINUX_EXPORTS_TASKLIST_LOCK
34 LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
35 LINUX_STATFS_TAKES_DENTRY
36 LINUX_REFRIGERATOR
37 LINUX_HAVE_TRY_TO_FREEZE
38 LINUX_LINUX_KEYRING_SUPPORT
39 LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
40 LINUX_KEY_ALLOC_NEEDS_CRED
41 LINUX_INIT_WORK_HAS_DATA
42 LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
43 LINUX_HAVE_DCACHE_LOCK
44 LINUX_D_COUNT_IS_INT
45 LINUX_IOP_GETATTR_TAKES_PATH_STRUCT
46 LINUX_IOP_MKDIR_TAKES_UMODE_T
47 LINUX_IOP_CREATE_TAKES_UMODE_T
48 LINUX_EXPORT_OP_ENCODE_FH_TAKES_INODES
49 LINUX_KMAP_ATOMIC_TAKES_NO_KM_TYPE
50 LINUX_DENTRY_OPEN_TAKES_PATH
51 LINUX_D_ALIAS_IS_HLIST
52 LINUX_HLIST_ITERATOR_NO_NODE
53 LINUX_IOP_I_CREATE_TAKES_BOOL
54 LINUX_DOP_D_REVALIDATE_TAKES_UNSIGNED
55 LINUX_IOP_LOOKUP_TAKES_UNSIGNED
56 LINUX_D_INVALIDATE_IS_VOID
57 LINUX_KERNEL_READ_OFFSET_IS_LAST
58 ])
59
60
61 AC_DEFUN([OPENAFS_LINUX_KERNEL_MORE_ASSORTED_CHECKS],[
62 if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
63     AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
64 fi
65 if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
66     AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
67 fi
68 if test "x$ac_cv_linux_func_page_get_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
69     AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
70 else
71     AC_MSG_WARN([your kernel does not have a usable symlink cache API])
72 fi
73 if test "x$ac_cv_linux_func_page_get_link" != "xyes" -a "x$ac_cv_linux_struct_inode_operations_has_get_link" = "xyes"; then
74     AC_MSG_ERROR([Your kernel does not use follow_link - not supported without symlink cache API])
75     exit 1
76 fi
77 ])