Whamcloud - gitweb
b=15316
[fs/lustre-release.git] / lnet / autoconf / lustre-lnet.m4
index 21457fa..2166980 100644 (file)
@@ -577,6 +577,16 @@ else
                        O2IBCPPFLAGS=""
                ])
 
+               # we know at this point that the found OFED source is good
+               if test \( $ENABLEO2IB = 3 \); then
+                       if test \( -f $O2IBPATH/Module.symvers \); then
+                               AC_MSG_NOTICE([adding $O2IBPATH/Module.symvers to $PWD/Module.symvers])
+                               cat $O2IBPATH/Module.symvers >> $PWD/Module.symvers
+                       else
+                               AC_MSG_ERROR([an external source tree was specified for o2iblnd however I could not find a $O2IBPATH/Module.symvers there])
+                       fi
+               fi
+
                # version checking is a hack and isn't reliable,
                # we need verify it with each new ofed release
 
@@ -631,7 +641,7 @@ AC_ARG_WITH([openib],
 if test $ENABLEOPENIB -eq 0; then
        AC_MSG_RESULT([disabled])
 elif test ! \( -f ${OPENIBPATH}/include/ts_ib_core.h -a \
-               -f ${OPENIBPATH}/include/ts_ib_cm.h -a\
+               -f ${OPENIBPATH}/include/ts_ib_cm.h -a \
               -f ${OPENIBPATH}/include/ts_ib_sa_client.h \); then
        AC_MSG_RESULT([no])
        case $ENABLEOPENIB in
@@ -1056,6 +1066,78 @@ AC_DEFINE(HAVE_SHOW_TASK, 1, [show_task is exported])
 ])
 ])
 
+# check userland __u64 type
+AC_DEFUN([LN_U64_LONG_LONG],
+[AC_MSG_CHECKING([u64 is long long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+       #include <linux/types.h>
+       int main(void) {
+               unsigned long long *data1;
+               __u64 *data2;
+               
+               data1 = data2;
+               return 0;
+       }
+],[
+       AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_U64_LONG_LONG, 1,
+                  [__u64 is long long type])
+],[
+       AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+])
+
+# check userland size_t type
+AC_DEFUN([LN_SIZE_T_LONG],
+[AC_MSG_CHECKING([size_t is unsigned long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+       #include <linux/types.h>
+       int main(void) {
+               unsigned long *data1;
+               size_t *data2;
+               
+               data1 = data2;
+               return 0;
+       }
+],[
+       AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_SIZE_T_LONG, 1,
+                  [size_t is long type])
+],[
+       AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+])
+
+AC_DEFUN([LN_SSIZE_T_LONG],
+[AC_MSG_CHECKING([ssize_t is signed long type])
+tmp_flags="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
+AC_COMPILE_IFELSE([
+       #include <linux/types.h>
+       int main(void) {
+               long *data1;
+               ssize_t *data2;
+               
+               data1 = data2;
+               return 0;
+       }
+],[
+       AC_MSG_RESULT([yes])
+        AC_DEFINE(HAVE_SSIZE_T_LONG, 1,
+                  [ssize_t is long type])
+],[
+       AC_MSG_RESULT([no])
+])
+CFLAGS="$tmp_flags"
+])
+
+
 # LN_TASKLIST_LOCK
 # 2.6.18 remove tasklist_lock export
 AC_DEFUN([LN_TASKLIST_LOCK],
@@ -1205,6 +1287,9 @@ LN_CONFIG_MX
 LN_STRUCT_PAGE_LIST
 LN_STRUCT_SIGHAND
 LN_FUNC_SHOW_TASK
+LN_U64_LONG_LONG
+LN_SSIZE_T_LONG
+LN_SIZE_T_LONG
 # 2.6.18
 LN_TASKLIST_LOCK
 # 2.6.19
@@ -1217,8 +1302,6 @@ LN_2ARGS_REGISTER_SYSCTL
 LN_KMEM_CACHE
 # 2.6.23
 LN_KMEM_CACHE_CREATE_DTOR
-# PPC/PPC64 support
-LC_SEGMENT_H
 ])
 
 #