CPPFLAGS="$save_CPPFLAGS"
AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
+dnl AC_CHECK_LINUX_BUILD([msg], [var], [includes], [code], [define])
+AC_DEFUN([AC_CHECK_LINUX_BUILD],
+ [AS_VAR_PUSHDEF([ac_linux_build], [$2])dnl
+ AC_CACHE_CHECK([$1], [ac_linux_build],
+ [AC_TRY_KBUILD([$3], [$4],
+ AS_VAR_SET([ac_linux_build], [yes]),
+ AS_VAR_SET([ac_linux_build], [no]))
+ ])
+ AS_IF([test AS_VAR_GET([ac_linux_build]) = yes],
+ [AC_DEFINE([$5],1,[$6])])
+ ])
+
dnl AC_CHECK_LINUX_STRUCT([structure], [element], [includes])
AC_DEFUN([AC_CHECK_LINUX_STRUCT],
- [AS_VAR_PUSHDEF([ac_linux_struct], [ac_cv_linux_struct_$1_has_$2])dnl
- AC_CACHE_CHECK([for $2 in struct $1], [ac_linux_struct],
- [AC_TRY_KBUILD([#include <linux/$3>],
- [struct $1 _test; printk("%x\n", &_test.$2); ],
- AS_VAR_SET([ac_linux_struct], [yes]),
- AS_VAR_SET([ac_linux_struct], [no]))
- ])
- AS_IF([test AS_VAR_GET([ac_linux_struct]) = yes],
- [AC_DEFINE(AS_TR_CPP(STRUCT_$1_HAS_$2), 1,
- [Define if kernel struct $1 has the $2 element])])
+ [AC_CHECK_LINUX_BUILD([for $2 in struct $1],
+ [ac_cv_linux_struct_$1_has_$2],
+ [#include <linux/$3>],
+ [struct $1 _test; printk("%x\n", &_test.$2); ],
+ AS_TR_CPP(STRUCT_$1_HAS_$2),
+ [Define if kernel struct $1 has the $2 element])
])
AC_DEFUN([LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA], [
- AC_MSG_CHECKING([whether inode_operations.permission takes a nameidata])
- AC_CACHE_VAL([ac_cv_linux_func_i_permission_takes_nameidata], [
- AC_TRY_KBUILD(
+ AC_CHECK_LINUX_BUILD([whether inode_operations.permission takes a nameidata],
+ [ac_cv_linux_func_i_permission_takes_nameidata],
[#include <linux/fs.h>
#include <linux/namei.h>],
[struct inode _inode;
struct dentry _dentry;
struct nameidata _nameidata;
(void)_inode.i_op->permission(&_inode, 0, &_nameidata);],
- ac_cv_linux_func_i_permission_takes_nameidata=yes,
- ac_cv_linux_func_i_permission_takes_nameidata=no)])
- AC_MSG_RESULT($ac_cv_linux_func_i_permission_takes_nameidata)])
+ [IOP_PERMISSION_TAKES_NAMEIDATA],
+ [define if your iops.permission takes a nameidata argument])
+])
AC_DEFUN([LINUX_IOP_I_PUT_LINK_TAKES_COOKIE], [