#
# LP_CONFIG_GM
#
-# check if infiniband support is available
+# check if GM support is available
#
AC_DEFUN([LP_CONFIG_GM],
[AC_MSG_CHECKING([if gm support was requested])
# LP_CONFIG_OPENIB
#
# check for OpenIB in the kernel
-AC_DEFUN([LP_CONFIG_OPENIB],
-[AC_MSG_CHECKING([if OpenIB kernel headers are present])
-OPENIBCPPFLAGS="-I$LINUX/drivers/infiniband/include -DIN_TREE_BUILD"
-EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS $OPENIBCPPFLAGS"
-LB_LINUX_TRY_COMPILE(
+AC_DEFUN([LP_CONFIG_OPENIB],[
+AC_MSG_CHECKING([whether to enable OpenIB support])
+# set default
+OPENIBPATH="$LINUX/drivers/infiniband"
+AC_ARG_WITH([openib],
+ AC_HELP_STRING([--with-openib=path],
+ [build openibnal against path]),
[
+ case $with_openib in
+ yes) ENABLEOPENIB=2
+ ;;
+ no) ENABLEOPENIB=0
+ ;;
+ *) OPENIBPATH="$with_openib"
+ ENABLEOPENIB=3
+ ;;
+ esac
+ ],[
+ ENABLEOPENIB=1
+ ])
+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_sa_client.h \); then
+ AC_MSG_RESULT([no])
+ case $ENABLEOPENIB in
+ 1) ;;
+ 2) AC_MSG_ERROR([kernel OpenIB headers not present]);;
+ 3) AC_MSG_ERROR([bad --with-openib path]);;
+ *) AC_MSG_ERROR([internal error]);;
+ esac
+else
+ case $ENABLEOPENIB in
+ 1|2) OPENIBCPPFLAGS="-I$OPENIBPATH/include -DIN_TREE_BUILD";;
+ 3) OPENIBCPPFLAGS="-I$OPENIBPATH/include";;
+ *) AC_MSG_RESULT([no])
+ AC_MSG_ERROR([internal error]);;
+ esac
+ EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS $OPENIBCPPFLAGS"
+ LB_LINUX_TRY_COMPILE([
#include <ts_ib_core.h>
+ #include <ts_ib_cm.h>
+ #include <ts_ib_sa_client.h>
],[
- struct ib_device_properties props;
+ struct ib_device_properties dev_props;
+ struct ib_cm_active_param cm_active_params;
+ tTS_IB_CLIENT_QUERY_TID tid;
+ int enum1 = IB_QP_ATTRIBUTE_STATE;
+ int enum2 = IB_ACCESS_LOCAL_WRITE;
+ int enum3 = IB_CQ_CALLBACK_INTERRUPT;
+ int enum4 = IB_CQ_PROVIDER_REARM;
return 0;
],[
AC_MSG_RESULT([yes])
OPENIBNAL="openibnal"
],[
AC_MSG_RESULT([no])
+ case $ENABLEOPENIB in
+ 1) ;;
+ 2) AC_MSG_ERROR([can't compile with kernel OpenIB headers]);;
+ 3) AC_MSG_ERROR([can't compile with OpenIB headers under $OPENIBPATH]);;
+ *) AC_MSG_ERROR([internal error]);;
+ esac
OPENIBNAL=""
OPENIBCPPFLAGS=""
])
-EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
+ EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
+fi
AC_SUBST(OPENIBCPPFLAGS)
AC_SUBST(OPENIBNAL)
])
])
#
+# LP_CONFIG_VIB
+#
+# check for Voltaire infiniband support
+#
+AC_DEFUN([LP_CONFIG_VIB],
+[AC_MSG_CHECKING([if Voltaire IB kernel headers are present])
+VIBCPPFLAGS="-I/usr/local/include/ibhost-kdevel -DCPU_BE=0 -DCPU_LE=1 -DGSI_PASS_PORT_NUM"
+EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
+EXTRA_KCFLAGS="$EXTRA_KCFLAGS $VIBCPPFLAGS"
+LB_LINUX_TRY_COMPILE([
+ #include <linux/list.h>
+ #include <vverbs.h>
+],[
+ vv_hca_h_t kib_hca;
+ vv_return_t retval;
+
+ retval = vv_hca_open("ANY_HCA", NULL, &kib_hca);
+
+ return retval == vv_return_ok ? 0 : 1;
+],[
+ AC_MSG_RESULT([yes])
+ VIBNAL="vibnal"
+],[
+ AC_MSG_RESULT([no])
+ VIBNAL=""
+ VIBCPPFLAGS=""
+])
+EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
+AC_SUBST(VIBCPPFLAGS)
+AC_SUBST(VIBNAL)
+])
+
+#
# LP_CONFIG_RANAL
#
# check whether to use the RapidArray nal
[#### Rapid Array
AC_MSG_CHECKING([if RapidArray kernel headers are present])
# placeholder
-RACPPFLAGS="-I/tmp"
+RACPPFLAGS="-I${LINUX}/drivers/xd1/include"
EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
EXTRA_KCFLAGS="$EXTRA_KCFLAGS $RACPPFLAGS"
LB_LINUX_TRY_COMPILE([
LP_CONFIG_AFFINITY
LP_CONFIG_QUADRICS
LP_CONFIG_GM
-if test $linux25 = 'no' ; then
- LP_CONFIG_OPENIB
-fi
+LP_CONFIG_OPENIB
LP_CONFIG_IIB
+LP_CONFIG_VIB
LP_CONFIG_RANAL
LP_STRUCT_PAGE_LIST
AM_CONDITIONAL(BUILD_GMNAL, test x$GMNAL = "xgmnal")
AM_CONDITIONAL(BUILD_OPENIBNAL, test x$OPENIBNAL = "xopenibnal")
AM_CONDITIONAL(BUILD_IIBNAL, test x$IIBNAL = "xiibnal")
+AM_CONDITIONAL(BUILD_VIBNAL, test x$VIBNAL = "xvibnal")
AM_CONDITIONAL(BUILD_RANAL, test x$RANAL = "xranal")
])
portals/knals/autoMakefile
portals/knals/gmnal/Makefile
portals/knals/gmnal/autoMakefile
+portals/knals/openibnal/Makefile
+portals/knals/openibnal/autoMakefile
portals/knals/iibnal/Makefile
portals/knals/iibnal/autoMakefile
+portals/knals/vibnal/Makefile
+portals/knals/vibnal/autoMakefile
portals/knals/lonal/Makefile
portals/knals/lonal/autoMakefile
-portals/knals/openibnal/Makefile
-portals/knals/openibnal/autoMakefile
portals/knals/qswnal/Makefile
portals/knals/qswnal/autoMakefile
portals/knals/ranal/Makefile