1
1
openmpi/config/ompi_check_mvapi.m4
Brian Barrett 5163f2b296 Fix for bug #36. The MX, MVAPI, and OpenIB components don't have
support for progress threads, so we shouldn't build them or try to use
them when support for progress threads has been requested.  The TCP, GM,
SELF, and SM BTLs should have progress thread support, so they aren't
disabled.  The Portals BTL isn't compiled on platforms with threads,
so it doens't need to be updated.

This commit was SVN r10156.
2006-06-01 01:30:16 +00:00

91 строка
3.8 KiB
Bash

# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# OMPI_CHECK_MVAPI(prefix, [action-if-found], [action-if-not-found])
# --------------------------------------------------------
# check if MVAPI 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_MVAPI],[
AC_ARG_WITH([mvapi],
[AC_HELP_STRING([--with-mvapi(=DIR)],
[Build MVAPI (InfiniBand) support, searching for libraries in DIR])])
AC_ARG_WITH([mvapi-libdir],
[AC_HELP_STRING([--with-mvapi-libdir=DIR],
[Search for MVAPI (InfiniBand) libraries in DIR/lib and DIR/lib64
in addition to other search paths])])
AS_IF([test ! -z "$with_mvapi" -a "$with_mvapi" != "yes"],
[ompi_check_mvapi_dir="$with_mvapi"])
AS_IF([test ! -z "$with_mvapi_libdir" -a "$with_mvapi_libdir" != "yes"],
[ompi_check_mvapi_libdir="$with_mvapi_libdir"])
AS_IF([test "$with_mvapi" != "no"],
[ # check for pthreads and emit a warning that
# things might go south...
AS_IF([test "$HAVE_POSIX_THREADS" != "1"],
[AC_MSG_WARN([POSIX threads not enabled. May not be able to link with mvapi])])
ompi_check_mvapi$1_save_CFLAGS="$CFLAGS"
ompi_check_mvapi$1_save_CPPFLAGS="$CPPFLAGS"
# ugly hack for topspin which stores include files in include/vapi
AS_IF([test -d "$ompi_check_mvapi_dir/include/vapi"],
[CPPFLAGS="$CPPFLAGS -I $ompi_check_mvapi_dir/include/vapi"
$1_CPPFLAGS="$$1_CPPFLAGS -I $ompi_check_mvapi_dir/include/vapi"])
# some mellanox vapi implemenations only need lvapi and lmosal
OMPI_CHECK_PACKAGE([$1],
[vapi.h],
[vapi],
[VAPI_open_hca],
[-lmosal],
[$ompi_check_mvapi_dir],
[$ompi_check_mvapi_libdir],
[ompi_check_mvapi_happy="yes"],
[ompi_check_mvapi_happy="no"])
# if needed use both lmpga and lmtl_common
AS_IF([test "$ompi_check_mvapi_happy" = "no"],
[OMPI_CHECK_PACKAGE([$1],
[vapi.h],
[vapi],
[VAPI_open_hca],
[-lmosal -lmpga -lmtl_common],
[$ompi_check_mvapi_dir],
[$ompi_check_mvapi_libdir],
[ompi_check_mvapi_happy="yes"],
[ompi_check_mvapi_happy="no"])])
AS_IF([test "$ompi_check_mvapi_happy" = "yes" -a "$enable_progress_threads" = "yes"],
[AC_MSG_WARN([MVAPI driver does not currently support progress threads. Disabling BTL.])
ompi_check_mvapi_happy="no"])
CPPFLAGS="$ompi_check_mvapi$1_save_CPPFLAGS"],
[ompi_check_mvapi_happy="no"])
AS_IF([test "$ompi_check_mvapi_happy" = "yes"],
[$2],
[AS_IF([test ! -z "$with_mvapi" -a "$with_mvapi" != "no"],
[AC_MSG_ERROR([MVAPI support requested but not found. Aborting])])
$3])
])