2005-07-27 17:42:37 +04:00
# -*- shell-script -*-
#
2005-11-05 22:57:48 +03:00
# 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.
2011-07-04 18:00:41 +04:00
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
2005-07-27 17:42:37 +04:00
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
2010-09-18 03:04:06 +04:00
# Copyright (c) 2007-2010 Cisco Systems, Inc. All rights reserved.
2011-08-05 00:26:08 +04:00
# Copyright (c) 2008-2011 Mellanox Technologies. All rights reserved.
2011-02-16 08:37:22 +03:00
# Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
2005-07-27 17:42:37 +04:00
# $COPYRIGHT$
2011-07-04 18:00:41 +04:00
#
2005-07-27 17:42:37 +04:00
# Additional copyrights may follow
2011-07-04 18:00:41 +04:00
#
2005-07-27 17:42:37 +04:00
# $HEADER$
#
2008-01-15 02:22:03 +03:00
# MCA_btl_openib_POST_CONFIG([should_build])
# ------------------------------------------
2010-09-18 03:04:06 +04:00
AC_DEFUN([MCA_ompi_btl_openib_POST_CONFIG], [
2008-07-08 10:32:54 +04:00
AM_CONDITIONAL([MCA_btl_openib_have_xrc], [test $1 -eq 1 -a "x$btl_openib_have_xrc" = "x1"])
2008-05-02 15:52:33 +04:00
AM_CONDITIONAL([MCA_btl_openib_have_rdmacm], [test $1 -eq 1 -a "x$btl_openib_have_rdmacm" = "x1"])
2011-08-05 00:26:08 +04:00
AM_CONDITIONAL([MCA_btl_openib_have_dynamic_sl], [test $1 -eq 1 -a "x$btl_openib_have_opensm_devel" = "x1"])
2011-09-20 01:24:58 +04:00
AM_CONDITIONAL([MCA_btl_openib_have_udcm], [test $1 -eq 1 -a "x$btl_openib_have_udcm" = "x1"])
2008-01-15 02:22:03 +03:00
])
2005-07-27 17:42:37 +04:00
2011-07-04 18:00:41 +04:00
# MCA_btl_openib_CONFIG([action-if-can-compile],
2005-07-27 17:42:37 +04:00
# [action-if-cant-compile])
# ------------------------------------------------
2010-09-18 03:04:06 +04:00
AC_DEFUN([MCA_ompi_btl_openib_CONFIG],[
AC_CONFIG_FILES([ompi/mca/btl/openib/Makefile])
2011-02-17 07:28:56 +03:00
OPAL_VAR_SCOPE_PUSH([cpcs have_threads])
2008-05-02 15:52:33 +04:00
cpcs="oob"
2012-07-02 19:20:12 +04:00
OMPI_CHECK_OPENFABRICS([btl_openib],
[btl_openib_happy="yes"]
OMPI_CHECK_OPENFABRICS_CM([btl_openib]),
2005-07-27 17:42:37 +04:00
[btl_openib_happy="no"])
AS_IF([test "$btl_openib_happy" = "yes"],
2013-01-29 04:00:43 +04:00
[# With the new openib flags, look for ibv_fork_init
2007-04-21 04:15:05 +04:00
LDFLAGS_save="$LDFLAGS"
LIBS_save="$LIBS"
LDFLAGS="$LDFLAGS $btl_openib_LDFLAGS"
LIBS="$LIBS $btl_openib_LIBS"
AC_CHECK_FUNCS([ibv_fork_init])
LDFLAGS="$LDFLAGS_save"
LIBS="$LIBS_save"
2005-07-27 17:42:37 +04:00
$1],
[$2])
2011-09-20 01:24:58 +04:00
AC_MSG_CHECKING([for thread support (needed for rdmacm/udcm)])
2008-10-06 04:46:02 +04:00
have_threads=`echo $THREAD_TYPE | awk '{ print [$]1 }'`
if test "x$have_threads" = "x"; then
have_threads=none
fi
AC_MSG_RESULT([$have_threads])
2005-07-27 17:42:37 +04:00
2008-05-02 15:52:33 +04:00
AS_IF([test "$btl_openib_happy" = "yes"],
2008-07-08 10:32:54 +04:00
[if test "x$btl_openib_have_xrc" = "x1"; then
2008-06-04 12:50:30 +04:00
cpcs="$cpcs xoob"
2008-05-02 15:52:33 +04:00
fi
2008-10-06 04:46:02 +04:00
if test "x$btl_openib_have_rdmacm" = "x1" -a \
"$have_threads" != "none"; then
2008-07-08 10:32:54 +04:00
cpcs="$cpcs rdmacm"
2008-05-02 15:52:33 +04:00
fi
2011-09-20 01:24:58 +04:00
if test "x$btl_openib_have_udcm" = "x1" -a \
"$have_threads" != "none"; then
cpcs="$cpcs udcm"
fi
2008-05-02 15:52:33 +04:00
AC_MSG_CHECKING([which openib btl cpcs will be built])
AC_MSG_RESULT([$cpcs])])
2011-01-19 23:58:22 +03:00
# Enable openib device failover. It is disabled by default.
2012-05-09 00:42:09 +04:00
AC_MSG_CHECKING([whether openib failover is enabled])
2011-01-19 23:58:22 +03:00
AC_ARG_ENABLE([btl-openib-failover],
[AC_HELP_STRING([--enable-btl-openib-failover],
[enable openib BTL failover (default: disabled)])])
if test "$enable_btl_openib_failover" = "yes"; then
AC_MSG_RESULT([yes])
btl_openib_failover_enabled=1
else
AC_MSG_RESULT([no])
btl_openib_failover_enabled=0
fi
AC_DEFINE_UNQUOTED([BTL_OPENIB_FAILOVER_ENABLED], [$btl_openib_failover_enabled],
[enable openib BTL failover])
AM_CONDITIONAL([MCA_btl_openib_enable_failover], [test "x$btl_openib_failover_enabled" = "x1"])
2012-05-09 00:42:09 +04:00
# Check for __malloc_hook availability
AC_ARG_ENABLE(btl-openib-malloc-alignment,
AC_HELP_STRING([--enable-btl-openib-malloc-alignment], [Enable support for allocated memory alignment. Default: enabled if supported, disabled otherwise.]))
btl_openib_malloc_hooks_enabled=0
AS_IF([test "$enable_btl_openib_malloc_alignment" != "no"],
[AC_CHECK_HEADER([malloc.h],
[AC_CHECK_FUNC([__malloc_hook],
[AC_CHECK_FUNC([__realloc_hook],
[AC_CHECK_FUNC([__free_hook],
[btl_openib_malloc_hooks_enabled=1])])])])])
AS_IF([test "$enable_btl_openib_malloc_alignment" = "yes" -a "$btl_openib_malloc_hooks_enabled" = "0"],
[AC_MSG_ERROR([openib malloc alignment is requested but __malloc_hook is not available])])
AC_MSG_CHECKING([whether the openib BTL will use malloc hooks])
AS_IF([test "$btl_openib_malloc_hooks_enabled" = "0"],
[AC_MSG_RESULT([no])],
[AC_MSG_RESULT([yes])])
AC_DEFINE_UNQUOTED(BTL_OPENIB_MALLOC_HOOKS_ENABLED, [$btl_openib_malloc_hooks_enabled],
[Whether the openib BTL malloc hooks are enabled])
2005-07-27 17:42:37 +04:00
# substitute in the things needed to build openib
AC_SUBST([btl_openib_CFLAGS])
AC_SUBST([btl_openib_CPPFLAGS])
AC_SUBST([btl_openib_LDFLAGS])
AC_SUBST([btl_openib_LIBS])
2008-05-02 15:52:33 +04:00
2010-11-13 02:22:11 +03:00
OPAL_VAR_SCOPE_POP
2007-04-21 04:15:05 +04:00
])dnl