|
Packit |
6d2c1b |
# dpcp.m4 - Library to operate with DevX
|
|
Packit |
6d2c1b |
#
|
|
Packit |
6d2c1b |
# Copyright (C) Mellanox Technologies Ltd. 2001-2020. ALL RIGHTS RESERVED.
|
|
Packit |
6d2c1b |
# See file LICENSE for terms.
|
|
Packit |
6d2c1b |
#
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
##########################
|
|
Packit |
6d2c1b |
# libdpcp usage support
|
|
Packit |
6d2c1b |
#
|
|
Packit |
6d2c1b |
AC_DEFUN([DPCP_CAPABILITY_SETUP],
|
|
Packit |
6d2c1b |
[
|
|
Packit |
6d2c1b |
AC_ARG_WITH([dpcp],
|
|
Packit Service |
bd1f91 |
AS_HELP_STRING([--with-dpcp(=DIR)],
|
|
Packit |
6d2c1b |
[Search for dpcp headers and libraries in DIR (default NO)]),
|
|
Packit |
6d2c1b |
[],
|
|
Packit |
6d2c1b |
[with_dpcp=no]
|
|
Packit |
6d2c1b |
)
|
|
Packit |
6d2c1b |
|
|
Packit Service |
bd1f91 |
if test "x$vma_cv_directverbs" != x3 && test "x$with_dpcp" != xno; then
|
|
Packit Service |
bd1f91 |
AC_MSG_ERROR([dpcp can be used under RDMA-core subsystem only])
|
|
Packit Service |
bd1f91 |
fi
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
vma_cv_dpcp=0
|
|
Packit |
6d2c1b |
AS_IF([test "x$with_dpcp" == xno],
|
|
Packit |
6d2c1b |
[],
|
|
Packit |
6d2c1b |
[
|
|
Packit Service |
bd1f91 |
if test -z "$with_dpcp" || test "$with_dpcp" = "yes"; then
|
|
Packit Service |
bd1f91 |
with_dpcp=/usr
|
|
Packit Service |
bd1f91 |
fi
|
|
Packit Service |
bd1f91 |
|
|
Packit Service |
bd1f91 |
FUNC_CHECK_WITHDIR([dpcp], [$with_dpcp], [include/mellanox/dpcp.h])
|
|
Packit Service |
bd1f91 |
|
|
Packit |
6d2c1b |
vma_cv_dpcp_save_CPPFLAGS="$CPPFLAGS"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_save_CXXFLAGS="$CXXFLAGS"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_save_CFLAGS="$CFLAGS"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_save_LDFLAGS="$LDFLAGS"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_save_LIBS="$LIBS"
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
vma_cv_dpcp_CPPFLAGS="-I$with_dpcp/include"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_LIBS="-ldpcp -lmlx5"
|
|
Packit |
6d2c1b |
vma_cv_dpcp_LDFLAGS="-L$with_dpcp/lib -Wl,--rpath,$with_dpcp/lib"
|
|
Packit |
6d2c1b |
if test -d "$with_dpcp/lib64"; then
|
|
Packit |
6d2c1b |
vma_cv_dpcp_LDFLAGS="-L$with_dpcp/lib64 -Wl,--rpath,$with_dpcp/lib64"
|
|
Packit |
6d2c1b |
fi
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
CPPFLAGS="$vma_cv_dpcp_CPPFLAGS $CPPFLAGS"
|
|
Packit |
6d2c1b |
CXXFLAGS="-std=c++11 $CXXFLAGS"
|
|
Packit |
6d2c1b |
LDFLAGS="$vma_cv_dpcp_LDFLAGS $LDFLAGS"
|
|
Packit |
6d2c1b |
LIBS="$vma_cv_dpcp_LIBS $LIBS"
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
AC_LANG_PUSH([C++])
|
|
Packit |
6d2c1b |
AC_CHECK_HEADER(
|
|
Packit |
6d2c1b |
[mellanox/dpcp.h],
|
|
Packit |
6d2c1b |
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <mellanox/dpcp.h>]],
|
|
Packit |
6d2c1b |
[[dpcp::provider *provider;
|
|
Packit |
6d2c1b |
dpcp::provider::get_instance(provider);]])],
|
|
Packit |
6d2c1b |
[vma_cv_dpcp=1])
|
|
Packit |
6d2c1b |
])
|
|
Packit |
6d2c1b |
AC_LANG_POP()
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
CPPFLAGS="$vma_cv_dpcp_save_CPPFLAGS"
|
|
Packit |
6d2c1b |
CXXFLAGS="$vma_cv_dpcp_save_CXXFLAGS"
|
|
Packit |
6d2c1b |
CFLAGS="$vma_cv_dpcp_save_CFLAGS"
|
|
Packit |
6d2c1b |
LDFLAGS="$vma_cv_dpcp_save_LDFLAGS"
|
|
Packit |
6d2c1b |
LIBS="$vma_cv_dpcp_save_LIBS"
|
|
Packit |
6d2c1b |
])
|
|
Packit |
6d2c1b |
|
|
Packit |
6d2c1b |
AC_MSG_CHECKING([for dpcp support])
|
|
Packit |
6d2c1b |
if test "$vma_cv_dpcp" -ne 0; then
|
|
Packit |
6d2c1b |
CPPFLAGS="$CPPFLAGS $vma_cv_dpcp_CPPFLAGS"
|
|
Packit |
6d2c1b |
LDFLAGS="$LDFLAGS $vma_cv_dpcp_LDFLAGS"
|
|
Packit |
6d2c1b |
AC_SUBST([DPCP_LIBS], ["-ldpcp"])
|
|
Packit |
6d2c1b |
AC_DEFINE_UNQUOTED([DEFINED_DPCP], [1], [Define to 1 to use DPCP])
|
|
Packit |
6d2c1b |
AC_MSG_RESULT([yes])
|
|
Packit |
6d2c1b |
else
|
|
Packit Service |
bd1f91 |
AS_IF([test "x$with_dpcp" == xno],
|
|
Packit Service |
bd1f91 |
[AC_MSG_RESULT([no])],
|
|
Packit Service |
bd1f91 |
[AC_MSG_ERROR([dpcp support requested but not present])])
|
|
Packit |
6d2c1b |
fi
|
|
Packit |
6d2c1b |
])
|