Whamcloud - gitweb
b=24086 separate kernel and userspace __u64 checking
authorBrian J. Murrell <brian.murrell@oracle.com>
Thu, 11 Nov 2010 19:14:56 +0000 (03:14 +0800)
committerVitaly Fertman <vitaly.fertman@sun.com>
Fri, 12 Nov 2010 20:40:13 +0000 (23:40 +0300)
Even if we don't configure lustre --with-linux= we still need to determine
what type __u64 is for userspace otherwise the LP*64 macros won't be
properly defined.

i=whitebear
i=panda

libcfs/autoconf/lustre-libcfs.m4

index e888679..ac57060 100644 (file)
@@ -110,30 +110,9 @@ AC_DEFINE(HAVE_SHOW_TASK, 1, [show_task is exported])
 ])
 ])
 
-# check userland & kernel __u64 type
-AC_DEFUN([LIBCFS_U64_LONG_LONG],
-[AC_MSG_CHECKING([u64 is long long type])
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Werror"
-AC_COMPILE_IFELSE([
-       #include <stdio.h>
-       #include <linux/types.h>
-       #include <linux/stddef.h>
-       int main(void) {
-               unsigned long long *data1;
-               __u64 *data2 = NULL;
-
-               data1 = data2;
-               return 0;
-       }
-],[
-       AC_MSG_RESULT([yes])
-        AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1,
-                  [__u64 is long long type])
-],[
-       AC_MSG_RESULT([no])
-])
-CFLAGS="$tmp_flags"
+# check kernel __u64 type
+AC_DEFUN([LIBCFS_U64_LONG_LONG_LINUX],
+[
 AC_MSG_CHECKING([kernel __u64 is long long type])
 tmp_flags="$EXTRA_KCFLAGS"
 EXTRA_KCFLAGS="$EXTRA_KCFLAGS -Werror"
@@ -660,7 +639,7 @@ LIBCFS_TYPE_GFP_T
 LIBCFS_CONFIG_PANIC_DUMPLOG
 
 LIBCFS_FUNC_SHOW_TASK
-LIBCFS_U64_LONG_LONG
+LIBCFS_U64_LONG_LONG_LINUX
 LIBCFS_TASK_RCU
 # 2.6.18
 LIBCFS_TASKLIST_LOCK
@@ -781,6 +760,30 @@ AC_CHECK_TYPE([__s64],
        [],
        [#include <asm/types.h>])
 
+# check userland __u64 type
+AC_MSG_CHECKING([userspace __u64 is long long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+       #include <stdio.h>
+       #include <linux/types.h>
+       #include <linux/stddef.h>
+       int main(void) {
+               unsigned long long *data1;
+               __u64 *data2 = NULL;
+
+               data1 = data2;
+               return 0;
+       }
+],[
+       AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1,
+                  [__u64 is long long type])
+],[
+       AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+
 # --------  Check for required packages  --------------