Whamcloud - gitweb
b=15870
[fs/lustre-release.git] / lnet / autoconf / lustre-lnet.m4
index c016f84..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
@@ -1058,11 +1068,11 @@ AC_DEFINE(HAVE_SHOW_TASK, 1, [show_task is exported])
 
 # check userland __u64 type
 AC_DEFUN([LN_U64_LONG_LONG],
-[AC_MSG_CHECKING([check u64 is long long type])
+[AC_MSG_CHECKING([u64 is long long type])
 tmp_flags="$CFLAGS"
 CFLAGS="$CFLAGS -Werror"
 AC_COMPILE_IFELSE([
-       #include <asm/types.h>
+       #include <linux/types.h>
        int main(void) {
                unsigned long long *data1;
                __u64 *data2;
@@ -1075,10 +1085,59 @@ AC_COMPILE_IFELSE([
         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],
@@ -1229,6 +1288,8 @@ 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