dnl -*- shell-script -*- dnl dnl Copyright (c) 2001-2011 Mellanox Technologies Ltd. ALL RIGHTS RESERVED. dnl Copyright (c) 2015 Research Organization for Information Science dnl and Technology (RIST). All rights reserved. dnl Copyright (c) 2016 Los Alamos National Security, LLC. All rights dnl reserved. dnl Copyright (c) 2016 Cisco Systems, Inc. All rights reserved. dnl $COPYRIGHT$ dnl dnl Additional copyrights may follow dnl dnl $HEADER$ dnl # OMPI_CHECK_MXM(prefix, [action-if-found], [action-if-not-found]) # -------------------------------------------------------- # check if MXM support can be found. sets prefix_{CPPFLAGS, # LDFLAGS, LIBS} as needed and runs action-if-found if there is # support, otherwise executes action-if-not-found AC_DEFUN([OMPI_CHECK_MXM],[ if test -z "$ompi_check_mxm_happy" ; then AC_ARG_WITH([mxm], [AC_HELP_STRING([--with-mxm(=DIR)], [Build Mellanox Messaging support, optionally adding DIR/include and DIR/lib or DIR/lib64 to the search path for headers and libraries])]) AC_ARG_WITH([mxm-libdir], [AC_HELP_STRING([--with-mxm-libdir=DIR], [Search for Mellanox MXM libraries in DIR])]) OPAL_CHECK_WITHDIR([mxm-libdir], [$with_mxm_libdir], [libmxm.*]) ompi_check_mxm_$1_save_CPPFLAGS="$CPPFLAGS" ompi_check_mxm_$1_save_LDFLAGS="$LDFLAGS" ompi_check_mxm_$1_save_LIBS="$LIBS" AS_IF([test "$with_mxm" != "no"], [AS_IF([test ! -z "$with_mxm" && test "$with_mxm" != "yes"], [ ompi_check_mxm_dir="$with_mxm" ]) AS_IF([test ! -z "$with_mxm_libdir" && test "$with_mxm_libdir" != "yes"], [ompi_check_mxm_libdir="$with_mxm_libdir"]) OPAL_CHECK_PACKAGE([ompi_check_mxm], [mxm/api/mxm_api.h], [mxm], [mxm_cleanup], [], [$ompi_check_mxm_dir], [$ompi_check_mxm_libdir], [ompi_check_mxm_happy="yes"], [ompi_check_mxm_happy="no"])], [ompi_check_mxm_happy="no"]) CPPFLAGS="$ompi_check_mxm_$1_save_CPPFLAGS" LDFLAGS="$ompi_check_mxm_$1_save_LDFLAGS" LIBS="$ompi_check_mxm_$1_save_LIBS" AC_MSG_CHECKING(for MXM version compatibility) AC_REQUIRE_CPP old_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -I$ompi_check_mxm_dir/include" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include ]], [[ #ifndef MXM_VERSION #error "MXM Version is less than 2.1, please upgrade" #endif # #if MXM_API < MXM_VERSION(2,1) #error "MXM Version is less than 2.1, please upgrade" #endif ]])], [ompi_mxm_version_ok="yes"], [ompi_mxm_version_ok="no"]) AC_MSG_RESULT([$ompi_mxm_version_ok]) CFLAGS=$old_CFLAGS AS_IF([test "$ompi_mxm_version_ok" = "no"], [ompi_check_mxm_happy="no"]) OPAL_SUMMARY_ADD([[Transports]],[[Mellanox MXM]],[$1],[$ompi_check_mxm_happy]) fi AS_IF([test "$ompi_check_mxm_happy" = "yes"], [$1_LDFLAGS="[$]$1_LDFLAGS $ompi_check_mxm_LDFLAGS" $1_LIBS="[$]$1_LIBS $ompi_check_mxm_LIBS" $1_CPPFLAGS="[$]$1_CPPFLAGS $ompi_check_mxm_CPPFLAGS" $2], [AS_IF([test ! -z "$with_mxm" && test "$with_mxm" != "no"], [AC_MSG_ERROR([MXM support requested but not found. Aborting])]) $3]) ])