-])
-
-#
-# LN_CONFIG_OPENIB
-#
-# check for OpenIB in the kernel
-AC_DEFUN([LN_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 openiblnd 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
- OPENIBCPPFLAGS="$OPENIBCPPFLAGS -DIB_NTXRXPARAMS=4"
- 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 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])
- OPENIBLND="openiblnd"
- ],[
- 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
- OPENIBLND=""
- OPENIBCPPFLAGS=""
- ])
- EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
-fi
-AC_SUBST(OPENIBCPPFLAGS)
-AC_SUBST(OPENIBLND)
-])
-
-#
-# LN_CONFIG_CIBLND
-#
-AC_DEFUN([LN_CONFIG_CIB],[
-AC_MSG_CHECKING([whether to enable Cisco/TopSpin IB support])
-# set default
-CIBPATH=""
-CIBLND=""
-AC_ARG_WITH([cib],
- AC_HELP_STRING([--with-cib=path],
- [build ciblnd against path]),
- [
- case $with_cib in
- no) AC_MSG_RESULT([no]);;
- *) CIBPATH="$with_cib"
- if test -d "$CIBPATH"; then
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([No directory $CIBPATH])
- fi;;
- esac
- ],[
- AC_MSG_RESULT([no])
- ])
-if test -n "$CIBPATH"; then
- CIBCPPFLAGS="-I${CIBPATH}/ib/ts_api_ng/include -I${CIBPATH}/all/kernel_services/include -DUSING_TSAPI"
- CIBCPPFLAGS="$CIBCPPFLAGS -DIB_NTXRXPARAMS=3"
- EXTRA_KCFLAGS_save="$EXTRA_KCFLAGS"
- EXTRA_KCFLAGS="$EXTRA_KCFLAGS $CIBCPPFLAGS"
- LB_LINUX_TRY_COMPILE([
- #include <ts_ib_core.h>
- #include <ts_ib_cm.h>
- #include <ts_ib_sa_client.h>
- ],[
- struct ib_device_properties dev_props;
- struct ib_cm_active_param cm_active_params;
- tTS_IB_CLIENT_QUERY_TID tid;
- int enum1 = TS_IB_QP_ATTRIBUTE_STATE;
- int enum2 = TS_IB_ACCESS_LOCAL_WRITE;
- int enum3 = TS_IB_CQ_CALLBACK_INTERRUPT;
- int enum4 = TS_IB_CQ_PROVIDER_REARM;
- return 0;
- ],[
- CIBLND="ciblnd"
- ],[
- AC_MSG_ERROR([can't compile ciblnd with given path])
- CIBCPPFLAGS=""
- ])
- EXTRA_KCFLAGS="$EXTRA_KCFLAGS_save"
-fi
-AC_SUBST(CIBCPPFLAGS)
-AC_SUBST(CIBLND)
-])