fi])
AC_DEFUN([LINUX_KERNEL_COMPILE_WORKS], [
- AC_MSG_CHECKING([for linux kernel module build works])
+ AC_MSG_CHECKING([if linux kernel module build works])
AC_TRY_KBUILD(
[#include <linux/sched.h>
#include <linux/fs.h>],
CPPFLAGS="$save_CPPFLAGS"
AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
-dnl AC_CHECK_LINUX_BUILD([msg], [var], [includes], [code], [define])
+dnl AC_CHECK_LINUX_BUILD([msg], [var], [includes], [code], [define], [CFLAGS])
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],
+ [save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $7"
+ AC_TRY_KBUILD([$3], [$4],
AS_VAR_SET([ac_linux_build], [yes]),
AS_VAR_SET([ac_linux_build], [no]))
+ CPPFLAGS="$save_CPPFLAGS"
])
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],
- [AC_CHECK_LINUX_BUILD([for $2 in struct $1],
- [ac_cv_linux_struct_$1_has_$2],
+ [AC_CHECK_LINUX_TYPED_STRUCT([struct $1], [$2], [$3])
+ ])
+
+dnl AC_CHECK_LINUX_TYPED_STRUCT([structure], [element], [includes])
+AC_DEFUN([AC_CHECK_LINUX_TYPED_STRUCT],
+ [AC_CHECK_LINUX_BUILD([for $2 in $1],
+ [ac_cv_linux_$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])
+ [$1 _test; printk("%x\n", &_test.$2); ],
+ AS_TR_CPP($1_HAS_$2),
+ [Define if kernel typedef'd $1 has the $2 element])
])