]) # LIBCFS_CONFIG_PANIC_DUMPLOG
#
-# LIBCFS_U64_LONG_LONG_LINUX
-#
-# check kernel __u64 type
-#
-AC_DEFUN([LIBCFS_U64_LONG_LONG_LINUX], [
-tmp_flags="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Werror"
-LB_CHECK_COMPILE([if Linux kernel '__u64' is 'long long' type],
-kernel_u64_long_long, [
- #include <linux/types.h>
- #include <linux/stddef.h>
-],[
- unsigned long long *data;
- data = (__u64*)sizeof(data);
-],[
- AC_DEFINE(HAVE_KERN__U64_LONG_LONG, 1,
- [Linux kernel __u64 is long long type])
-])
-EXTRA_KCFLAGS="$tmp_flags"
-]) # LIBCFS_U64_LONG_LONG_LINUX
-
-#
# LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK
#
# 2.6.32-30.el6 adds a new 'walk_stack' field in 'struct stacktrace_ops'
]) # LIBCFS_SYSCTL_CTLNAME
#
-# LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
-#
-# 2.6.34 adds __add_wait_queue_exclusive
-#
-AC_DEFUN([LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE], [
-LB_CHECK_COMPILE([if '__add_wait_queue_exclusive' exists],
-__add_wait_queue_exclusive, [
- #include <linux/wait.h>
-],[
- wait_queue_head_t queue;
- wait_queue_t wait;
- __add_wait_queue_exclusive(&queue, &wait);
-],[
- AC_DEFINE(HAVE___ADD_WAIT_QUEUE_EXCLUSIVE, 1,
- [__add_wait_queue_exclusive exists])
-])
-]) # LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
-
-#
# LC_SK_SLEEP
#
# 2.6.35 kernel has sk_sleep function
]) # LC_SK_SLEEP
#
+# LIBCFS_KSTRTOUL
+#
+# 2.6.38 kstrtoul is added
+#
+AC_DEFUN([LIBCFS_KSTRTOUL], [
+LB_CHECK_COMPILE([if Linux kernel has 'kstrtoul'],
+kstrtoul, [
+ #include <linux/kernel.h>
+],[
+ unsigned long result;
+ return kstrtoul("12345", 0, &result);
+],[
+ AC_DEFINE(HAVE_KSTRTOUL, 1,
+ [kernel has kstrtoul])
+])
+]) # LIBCFS_KSTRTOUL
+
+#
# LIBCFS_DUMP_TRACE_ADDRESS
#
# 2.6.39 adds a base pointer address argument to dump_trace
AC_DEFUN([LC_SHRINK_CONTROL], [
LB_CHECK_COMPILE([if 'shrink_control' is present],
shrink_control, [
+ #include <linux/atomic.h>
#include <linux/mm.h>
],[
struct shrink_control tmp = {0};
((struct shrinker*)0)->count_objects(NULL, NULL);
],[
AC_DEFINE(HAVE_SHRINKER_COUNT, 1,
- [shrinker has count_objects memeber])
+ [shrinker has count_objects member])
])
])
==============================================================================])
LIBCFS_CONFIG_PANIC_DUMPLOG
-LIBCFS_U64_LONG_LONG_LINUX
# 2.6.32
LIBCFS_STACKTRACE_OPS_HAVE_WALK_STACK
LC_SHRINKER_WANT_SHRINK_PTR
# 2.6.33
LIBCFS_SYSCTL_CTLNAME
-# 2.6.34
-LIBCFS_ADD_WAIT_QUEUE_EXCLUSIVE
# 2.6.35
LC_SK_SLEEP
+# 2.6.38
+LIBCFS_KSTRTOUL
# 2.6.39
LIBCFS_DUMP_TRACE_ADDRESS
# 2.6.40 fc15
]) # LIBCFS_PROG_LINUX
#
-# LIBCFS_PROG_DARWIN
-#
-# Darwin checks
-#
-AC_DEFUN([LIBCFS_PROG_DARWIN], [
-LB_DARWIN_CHECK_FUNCS([get_preemption_level])
-]) # LIBCFS_PROG_DARWIN
-
-#
# LIBCFS_PATH_DEFAULTS
#
# default paths for installed files
# libcfs/libcfs/user-prim.c, missing for RHEL5 and earlier userspace
AC_CHECK_FUNCS([strlcat])
-AC_CHECK_TYPE([umode_t],
- [AC_DEFINE(HAVE_UMODE_T, 1, [umode_t is defined])],
- [],
- [#include <asm/types.h>])
-
# -------- Check for required packages --------------
AC_MSG_NOTICE([LibCFS required packages checks
#
AC_DEFUN([LIBCFS_CONFIG_FILES], [
AC_CONFIG_FILES([
-libcfs/Kernelenv
libcfs/Makefile
libcfs/autoMakefile
libcfs/autoconf/Makefile
libcfs/include/Makefile
libcfs/include/libcfs/Makefile
libcfs/include/libcfs/linux/Makefile
-libcfs/include/libcfs/posix/Makefile
libcfs/include/libcfs/util/Makefile
libcfs/libcfs/Makefile
libcfs/libcfs/autoMakefile
libcfs/libcfs/linux/Makefile
-libcfs/libcfs/posix/Makefile
libcfs/libcfs/util/Makefile
-libcfs/include/libcfs/darwin/Makefile
-libcfs/libcfs/darwin/Makefile
])
]) # LIBCFS_CONFIG_FILES