841192645b
This PR renames the common library for OFI libfabric from libfabric to ofi. There are a number of reasons this is good to do: 1) its shorter and replaces 9 characters with three for function names for what may eventually be a fairly extensive interface 2) OFI is the term used for MTL and RML components that use the OFI libfabric interface 3) A planned OSC component will also use the OFI term. 4) Other HPC libraries that can use OFI libfabric tend to use the term "ofi" internally and also in their configure options relevant to OFI libfabric (i.e. MPICH/CH4, Intel MPI, Sandia SHMEM) There seem to be comments in places in the Open MPI source code that indicate that this common library will be going away. Far from it as we will want to be able to share things like AV objects between OMPI and possibly OSHMEM components that use the OFI libfabric interface. This PR also adds a synonym to the --with-libfabric(-libdir) configury options: --with-ofi and with-ofi-libdir. Signed-off-by: Howard Pritchard <howardp@lanl.gov>
112 строки
3.6 KiB
Bash
112 строки
3.6 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2015-2016 Cisco Systems, Inc. All rights reserved.
|
|
dnl Copyright (c) 2016-2017 Los Alamos National Security, LLC. All rights
|
|
dnl reserved.
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
|
|
|
|
# OPAL_CHECK_OFI(prefix, [action-if-found], [action-if-not-found]
|
|
# --------------------------------------------------------
|
|
# Check if libfabric 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([OPAL_CHECK_OFI],[
|
|
if test -z "$opal_check_libfabric_happy" ; then
|
|
OPAL_VAR_SCOPE_PUSH([opal_check_libfabric_$1_save_CPPFLAGS opal_check_libfabric_$1_save_LDFLAGS opal_check_libfabric_$1_save_LIBS])
|
|
|
|
# Add --with options
|
|
AC_ARG_WITH([libfabric],
|
|
[AC_HELP_STRING([--with-libfabric=DIR],
|
|
[Deprecated synonym for --with-ofi])])
|
|
AC_ARG_WITH([libfabric-libdir],
|
|
[AC_HELP_STRING([--with-libfabric-libdir=DIR],
|
|
[Deprecated synonym for --with-ofi-libdir])])
|
|
|
|
AC_ARG_WITH([ofi],
|
|
[AC_HELP_STRING([--with-ofi=DIR],
|
|
[Specify location of OFI libfabric installation, adding DIR/include to the default search location for libfabric headers, and DIR/lib or DIR/lib64 to the default search location for libfabric libraries. Error if libfabric support cannot be found.])])
|
|
|
|
AC_ARG_WITH([ofi-libdir],
|
|
[AC_HELP_STRING([--with-ofi-libdir=DIR],
|
|
[Search for OFI libfabric libraries in DIR])])
|
|
|
|
if test "$with_ofi" = ""; then
|
|
with_ofi=$with_libfabric
|
|
fi
|
|
|
|
if test "$with_ofi_libdir" = ""; then
|
|
with_ofi_libdir=$with_libfabric_libdir
|
|
fi
|
|
|
|
# Sanity check the --with values
|
|
OPAL_CHECK_WITHDIR([ofi], [$with_ofi],
|
|
[include/rdma/fabric.h])
|
|
OPAL_CHECK_WITHDIR([ofi-libdir], [$with_ofi_libdir],
|
|
[libfabric.*])
|
|
|
|
opal_check_ofi_$1_save_CPPFLAGS=$CPPFLAGS
|
|
opal_check_ofi_$1_save_LDFLAGS=$LDFLAGS
|
|
opal_check_ofi_$1_save_LIBS=$LIBS
|
|
|
|
opal_check_ofi_happy=yes
|
|
AS_IF([test "$with_ofi" = "no"],
|
|
[opal_check_ofi_happy=no])
|
|
|
|
AS_IF([test $opal_check_ofi_happy = yes],
|
|
[AC_MSG_CHECKING([looking for OFI libfabric in])
|
|
AS_IF([test "$with_ofi" != "yes"],
|
|
[opal_ofi_dir=$with_ofi
|
|
AC_MSG_RESULT([($opal_ofi_dir)])],
|
|
[AC_MSG_RESULT([(default search paths)])])
|
|
AS_IF([test ! -z "$with_ofi_libdir" && \
|
|
test "$with_ofi_libdir" != "yes"],
|
|
[opal_ofi_libdir=$with_ofi_libdir])
|
|
])
|
|
|
|
AS_IF([test $opal_check_ofi_happy = yes],
|
|
[OPAL_CHECK_PACKAGE([opal_check_ofi],
|
|
[rdma/fabric.h],
|
|
[fabric],
|
|
[fi_getinfo],
|
|
[],
|
|
[$opal_ofi_dir],
|
|
[$opal_ofi_libdir],
|
|
[],
|
|
[opal_check_ofi_happy=no])])
|
|
|
|
CPPFLAGS=$opal_check_ofi_$1_save_CPPFLAGS
|
|
LDFLAGS=$opal_check_ofi_$1_save_LDFLAGS
|
|
LIBS=$opal_check_ofi_$1_save_LIBS
|
|
|
|
OPAL_SUMMARY_ADD([[Transports]],[[OpenFabrics Libfabric]],[$1],[$opal_check_ofi_happy])
|
|
|
|
OPAL_VAR_SCOPE_POP
|
|
fi
|
|
|
|
if test $opal_check_ofi_happy = yes ; then
|
|
$1_CPPFLAGS="[$]$1_CPPFLAGS $opal_check_ofi_CPPFLAGS"
|
|
$1_LIBS="[$]$1_LIBS $opal_check_ofi_LIBS"
|
|
$1_LDFLAGS="[$]$1_LDFLAGS $opal_check_ofi_LDFLAGS"
|
|
|
|
AC_SUBST($1_CPPFLAGS)
|
|
AC_SUBST($1_LDFLAGS)
|
|
AC_SUBST($1_LIBS)
|
|
fi
|
|
|
|
AS_IF([test $opal_check_ofi_happy = yes],
|
|
[$2],
|
|
[AS_IF([test -n "$with_ofi" && test "$with_ofi" != "no"],
|
|
[AC_MSG_WARN([OFI libfabric support requested (via --with-ofi or --with-libfabric), but not found.])
|
|
AC_MSG_ERROR([Cannot continue.])])
|
|
$3])
|
|
])dnl
|