AC_MSG_RESULT([disabled])
else
o2ib_found=false
-
for O2IBPATH in $O2IBPATHS; do
if test \( -f ${O2IBPATH}/include/rdma/rdma_cm.h -a \
-f ${O2IBPATH}/include/rdma/ib_cm.h -a \
break
fi
done
-
if ! $o2ib_found; then
AC_MSG_RESULT([no])
case $ENABLEO2IB in
*) AC_MSG_ERROR([internal error]);;
esac
else
- # figure out whether the kernel has an infiniband stack
- # configured
- LB_LINUX_CONFIG_IM([INFINIBAND],[
- CONFIG_INFINIBAND_MODULE_defined=true
- ],[
- CONFIG_INFINIBAND_MODULE_defined=false
- ])
- # at this point we know that the user either explicitly
- # requested o2ib support or didn't explicitly disable it so
- # make sure the kernel's CONFIG_INFINIBAND variable is set
- # appropriately.
- #
- # possible error conditions are:
- # 1) --with-o2ib[=yes] (implies in kernel since no path was
- # given) and kernel not configured for IB
- # 2) --with-o2ib=/path and kernel is configured for IB
- #
- if test "$O2IBPATH" = "$LINUX" -o "$O2IBPATH" = "$LINUX/drivers/infiniband"; then
- # infiniband stack is in the kernel
- if test $ENABLEO2IB -eq 1 -o $ENABLEO2IB -eq 2 && ! $CONFIG_INFINIBAND_MODULE_defined; then
- # case #1
- AC_MSG_ERROR([Kernel supplied OFED drivers are being requested however the kernel is NOT configured to build OFED modules. Please specify --with-o2ib=<path_to_ofed> or rebuild the kernel with Infiniband enabled.])
- fi
- else
- # had to be a specified path with --with-o2ib=/path
- if $CONFIG_INFINIBAND_MODULE_defined; then
- # case #2
- AC_MSG_ERROR([External OFED source has been specified but the kernel is configured to build OFED modules as well. Remove --with-o2ib from the configuration or rebuild the kernel without Infiniband.])
- fi
- fi
- if $o2ib_found; then
O2IBCPPFLAGS="-I$O2IBPATH/include"
EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS $O2IBCPPFLAGS"
fi
fi
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #if !HAVE_GFP_T
- typedef int gfp_t;
- #endif
- #include <rdma/ib_verbs.h>
- ],[
- ib_dma_map_single(NULL, NULL, 0, 0);
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_OFED_IB_DMA_MAP, 1,
- [ib_dma_map_single defined])
- ],[
- AC_MSG_RESULT(NO)
- ])
-
- LB_LINUX_TRY_COMPILE([
- #include <linux/version.h>
- #include <linux/pci.h>
- #if !HAVE_GFP_T
- typedef int gfp_t;
- #endif
- #include <rdma/ib_verbs.h>
- ],[
- ib_create_cq(NULL, NULL, NULL, NULL, 0, 0);
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_OFED_IB_COMP_VECTOR, 1,
- [has completion vector])
- ],[
- AC_MSG_RESULT(NO)
- ])
+ LB_LINUX_TRY_COMPILE([
+ #include <linux/version.h>
+ #include <linux/pci.h>
+ #if !HAVE_GFP_T
+ typedef int gfp_t;
+ #endif
+ #include <rdma/ib_verbs.h>
+ ],[
+ ib_dma_map_single(NULL, NULL, 0, 0);
+ return 0;
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_OFED_IB_DMA_MAP, 1,
+ [ib_dma_map_single defined])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
+
+ LB_LINUX_TRY_COMPILE([
+ #include <linux/version.h>
+ #include <linux/pci.h>
+ #if !HAVE_GFP_T
+ typedef int gfp_t;
+ #endif
+ #include <rdma/ib_verbs.h>
+ ],[
+ ib_create_cq(NULL, NULL, NULL, NULL, 0, 0);
+ return 0;
+ ],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_OFED_IB_COMP_VECTOR, 1,
+ [has completion vector])
+ ],[
+ AC_MSG_RESULT(no)
+ ])
EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
fi
- fi
fi
AC_SUBST(EXTRA_LNET_INCLUDE)