1
1

* Turn thread support on by default, but disable both mpi and progress

threads (basically, same as before, but we now link the right thread
  libraries). 
* Add disable-io-romio flag to disable compiling ROMIO
* Migrathe mvapi btl from configure.stub to configure.m4

This commit was SVN r6453.
Этот коммит содержится в:
Brian Barrett 2005-07-13 01:07:31 +00:00
родитель c1c4a5efba
Коммит 586918853c
14 изменённых файлов: 334 добавлений и 329 удалений

Просмотреть файл

@ -53,6 +53,8 @@ sinclude(config/ompi_check_broken_qsort.m4)
sinclude(config/ompi_check_optflags.m4)
sinclude(config/ompi_check_icc.m4)
sinclude(config/ompi_check_bproc.m4)
sinclude(config/ompi_check_mvapi.m4)
sinclude(config/ompi_check_package.m4)
sinclude(config/ompi_check_tm.m4)
sinclude(config/ompi_check_xgrid.m4)
sinclude(config/ompi_config_subdir.m4)

57
config/ompi_check_mvapi.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,57 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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=MVAPI_DIR],
[Additional directory to search for MVAPI installation])])
AC_ARG_WITH([mvapi-libdir],
[AC_HELP_STRING([--with-mvapi-libdir=IBLIBDIR],
[directory where the IB library can be found, if it is not in MVAPI_DIR/lib or MVAPI_DIR/lib64])])
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"])
# 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_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"],
[$2],
[AS_IF([test ! -z "$with_mvapi" -a "$with_mvapi" != "no"],
[AC_MSG_ERROR([MVAPI support requested but not found. Aborting])])
$3])
])

148
config/ompi_check_package.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,148 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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_PACKAGE_HEADER(prefix, hedaer, dir-prefix,
# [action-if-found], [action-if-not-found])
# --------------------------------------------------------------------
AC_DEFUN([_OMPI_CHECK_PACKAGE_HEADER], [
AS_VAR_PUSHDEF([ompi_Header], [ac_cv_header_$2])
# so this sucks, but there's no way to get through the progression
# of header includes without killing off the cache variable and trying
# again...
unset ompi_Header
ompi_check_package_header_happy="no"
AS_IF([test "$3" = "/usr" -o "$3" = "/usr/local"],
[ # try as is...
AC_VERBOSE([looking for header without includes])
AC_CHECK_HEADER([$2], [ompi_check_package_header_happy="yes"],
[ompi_check_package_header_happy="no"])
AS_IF([test "$ompi_check_package_header_happy" = "no"],
[# no go on the as is - reset the cache and try again
unset ompi_Header])])
AS_IF([test "$ompi_check_package_header_happy" = "no"],
[AS_IF([test "$3" != ""],
[$1_CPPFLAGS="$$1_CPPFLAGS -I$3/include"
CPPFLAGS="$CPPFLAGS -I$3/include"])
AC_CHECK_HEADER([$2], [$4], [$5])],
[$4])
unset ompi_check_package_header_happy])
dnl AS_VAR_POPDEF([ompi_Header])dnl
])
# _OMPI_CHECK_PACKAGE_LIB(prefix, library, function, extra-libraries,
# dir-prefix, libdir-prefix,
# [action-if-found], [action-if-not-found]])
# --------------------------------------------------------------------
AC_DEFUN([_OMPI_CHECK_PACKAGE_LIB], [
AS_LITERAL_IF([$2],
[AS_VAR_PUSHDEF([ompi_Lib], [ac_cv_lib_$2_$3])],
[AS_VAR_PUSHDEF([ompi_Lib], [ac_cv_lib_$2''_$3])])dnl
# see comment above
unset ompi_Lib
ompi_check_package_lib_happy="no"
AS_IF([test "$6" != ""],
[ompi_check_package_libdir="$6"],
[ompi_check_package_libdir="$5"])
AS_IF([test "$ompi_check_packag_libdir" = "" -o "$ompi_check_package_libdir" = "/usr" -o "$ompi_check_package_libdir" = "/usr/local"],
[ # try as is...
AC_VERBOSE([looking for library without search path])
AC_CHECK_LIB([$2], [$3],
[ompi_check_package_lib_happy="yes"],
[ompi_check_package_lib_happy="no"], [$4])
AS_IF([test "$ompi_check_package_lib_happy" = "no"],
[ # no go on the as is.. see what happens later...
LDFLAGS="$ompi_check_package_$1_save_LDFLAGS"
$1_LDFLAGS="$ompi_check_package_$1_orig_LDFLAGS"
unset ompi_Lib])])
AS_IF([test "$ompi_check_package_lib_happy" = "no"],
[AS_IF([test "$ompi_check_package_libdir" != ""],
[$1_LDFLAGS="$$1_LDFLAGS -L$ompi_check_package_libdir/lib"
LDFLAGS="$LDFLAGS -L$ompi_check_package_libdir/lib"
AC_VERBOSE([looking for library in lib])
AC_CHECK_LIB([$2], [$3],
[ompi_check_package_lib_happy="yes"],
[ompi_check_package_lib_happy="no"], [$4])
AS_IF([test "$ompi_check_package_lib_happy" = "no"],
[ # no go on the as is.. see what happens later...
LDFLAGS="$ompi_check_package_$1_save_LDFLAGS"
$1_LDFLAGS="$ompi_check_package_$1_orig_LDFLAGS"
unset ompi_Lib])])])
AS_IF([test "$ompi_check_package_lib_happy" = "no"],
[AS_IF([test "$ompi_check_package_libdir" != ""],
[$1_LDFLAGS="$$1_LDFLAGS -L$ompi_check_package_libdir/lib64"
LDFLAGS="$LDFLAGS -L$ompi_check_package_libdir/lib64"
AC_VERBOSE([looking for library in lib64])
AC_CHECK_LIB([$2], [$3],
[ompi_check_package_lib_happy="yes"],
[ompi_check_package_lib_happy="no"], [$4])
AS_IF([test "$ompi_check_package_lib_happy" = "no"],
[ # no go on the as is.. see what happens later...
LDFLAGS="$ompi_check_package_$1_save_LDFLAGS"
$1_LDFLAGS="$ompi_check_package_$1_orig_LDFLAGS"
unset ompi_Lib])])])
AS_IF([test "$ompi_check_package_lib_happy" = "yes"],
[$7], [$8])
AS_VAR_POPDEF([ompi_Lib])dnl
])
# OMPI_CHECK_PACKAGE(prefix, header, library, function, extra-libraries,
# dir-prefix, libdir-prefix,
# [action-if-found], [action-if-not-found]
# -----------------------------------------------------------
# check for package defined by header and libs, and probably
# located in dir-prefix, possibly with libs in libdir-prefix.
# Both dir-prefix and libdir-prefix can be empty. Will set
# prefix_{CPPFLAGS, LDFLAGS, LIBS} as needed
AC_DEFUN([OMPI_CHECK_PACKAGE],[
ompi_check_package_$1_save_CPPFLAGS="$CPPFLAGS"
ompi_check_package_$1_save_LDFLAGS="$LDFLAGS"
ompi_check_package_$1_save_LIBS="$LIBS"
ompi_check_package_$1_orig_CPPFLAGS="$$1_CPPFLAGS"
ompi_check_package_$1_orig_LDFLAGS="$$1_LDFLAGS"
ompi_check_package_$1_orig_LIBS="$$1_LIBS"
_OMPI_CHECK_PACKAGE_HEADER([$1], [$2], [$6],
[_OMPI_CHECK_PACKAGE_LIB([$1], [$3], [$4], [$5], [$6], [$7],
[ompi_check_package_happy="yes"],
[ompi_check_package_happy="no"])],
[ompi_check_package_happy="no"])
AS_IF([test "$ompi_check_package_happy" = "yes"],
[$8
$1_LIBS="-l$3 $5"],
[$1_CPPFLAGS="$ompi_check_package_$1_orig_CPPFLAGS"
$1_LDFLAGS="$ompi_check_package_$1_orig_LDFLAGS"
$1_LIBS="$ompi_check_package_$1_orig_LIBS"
$9])
CPPFLAGS="$ompi_check_package_$1_save_CPPFLAGS"
LDFLAGS="$ompi_check_package_$1_save_LDFLAGS"
LIBS="$ompi_check_package_$1_save_LIBS"
])

Просмотреть файл

@ -78,7 +78,7 @@ elif test "$THREAD_TYPE" = "posix"; then
fi
elif test "$THREAD_TYPE" = "no"; then
THREAD_TYPE="none"
elif test "$THREAD_TYPE" = "yes"; then
elif test -z "$THREAD_TYPE" -o "$THREAD_TYPE" = "yes"; then
# Actual logic here - properly set THREAD_TYPE - we go for system
# optimized where ever possible
@ -100,8 +100,6 @@ elif test "$THREAD_TYPE" = "yes"; then
fi
;;
esac
elif test -z "$THREAD_TYPE" ; then
THREAD_TYPE="none"
else
AC_MSG_WARN(["*** You have specified a thread type that I do not"])
@ -180,18 +178,22 @@ fi
AC_MSG_CHECKING([if want MPI thread support])
AC_ARG_ENABLE([mpi-threads],
AC_HELP_STRING([--enable-mpi-threads],
[Enable threads for MPI applications (default: enabled)]),
[Enable threads for MPI applications (default: disabled)]),
[enable_mpi_threads="$enableval"])
if test "$enable_mpi_threads" = "" ; then
# no argument given either way. Default to whether we have threads or not
if test "$THREAD_TYPE" != "none" ; then
OMPI_ENABLE_MPI_THREADS=1
enable_mpi_threads="yes"
else
OMPI_ENABLE_MPI_THREADS=0
enable_mpi_threads="no"
fi
dnl # no argument given either way. Default to whether
dnl # we have threads or not
dnl if test "$THREAD_TYPE" != "none" ; then
dnl OMPI_ENABLE_MPI_THREADS=1
dnl enable_mpi_threads="yes"
dnl else
dnl OMPI_ENABLE_MPI_THREADS=0
dnl enable_mpi_threads="no"
dnl fi
# no argument - default to no
OMPI_ENABLE_MPI_THREADS=0
enable_mpi_threads="no"
elif test "$enable_mpi_threads" = "no" ; then
OMPI_ENABLE_MPI_THREADS=0
else

Просмотреть файл

@ -1,3 +1,4 @@
ompi
twoodall
gshipman
brbarret

Просмотреть файл

@ -18,6 +18,9 @@
include $(top_ompi_srcdir)/config/Makefile.options
CFLAGS = $(btl_mvapi_CFLAGS)
AM_CPPFLAGS = $(btl_mvapi_CPPFLAGS)
sources = \
btl_mvapi.c \
btl_mvapi.h \
@ -29,7 +32,7 @@ sources = \
btl_mvapi_proc.c \
btl_mvapi_proc.h \
btl_mvapi_error.h
# Make the output library in this directory, and name it either
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
# (for static builds).
@ -49,8 +52,10 @@ endif
mcacomponentdir = $(libdir)/openmpi
mcacomponent_LTLIBRARIES = $(component)
mca_btl_mvapi_la_SOURCES = $(component_sources)
mca_btl_mvapi_la_LDFLAGS = -module -avoid-version
mca_btl_mvapi_la_LDFLAGS = -module -avoid-version $(btl_mvapi_LDFLAGS)
mca_btl_mvapi_la_LIBADD = $(btl_mvapi_LIBS)
noinst_LTLIBRARIES = $(lib)
libmca_btl_mvapi_la_SOURCES = $(lib_sources)
libmca_btl_mvapi_la_LDFLAGS = -module -avoid-version
libmca_btl_mvapi_la_LDFLAGS = -module -avoid-version$ (btl_mvapi_LDFLAGS)
libmca_btl_mvapi_la_LIBADD = $(btl_mvapi_LIBS)

43
ompi/mca/btl/mvapi/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,43 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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$
#
# MCA_btl_mvapi_CONFIG(action-if-can-compile,
# [action-if-cant-compile])
# ------------------------------------------------
AC_DEFUN([MCA_btl_mvapi_CONFIG],[
OMPI_CHECK_MVAPI([btl_mvapi],
[btl_mvapi_happy="yes"],
[btl_mvapi_happy="no"])
AS_IF([test "$btl_mvapi_happy" = "yes"],
[btl_mvapi_WRAPPER_EXTRA_LDFLAGS="$btl_mvapi_LDFLAGS"
btl_mvapi_WRAPPER_EXTRA_LIBS="$btl_mvapi_LIBS"
$1],
[$2])
# Many vapi.h's have horrid semantics and don't obey ISOC99
# standards. So we have to turn off flags like -pedantic. Sigh.
btl_mvapi_CFLAGS="`echo $CFLAGS | sed 's/-pedantic//g'`"
btl_mvapi_CFLAGS="`echo $btl_mvapi_CFLAGS | sed 's/-Wundef//g'`"
# substitute in the things needed to build Portals
AC_SUBST([btl_mvapi_CFLAGS])
AC_SUBST([btl_mvapi_CPPFLAGS])
AC_SUBST([btl_mvapi_LDFLAGS])
AC_SUBST([btl_mvapi_LIBS])
])dnl

Просмотреть файл

@ -1,153 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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$
#
#
# Main function. This will be invoked in the middle of the templated
# configure script.
#
AC_DEFUN([MCA_CONFIGURE_STUB],[
# Additional --with flags that can be specified
AC_ARG_WITH(btl-mvapi,
AC_HELP_STRING([--with-btl-mvapi=IBDIR],
[Specify the installation directory of IB (should enable the correct automatic determination of using the 32 or 64 bit library, if both are present under IBDIR/lib and IBDIR/lib64)]))
AC_ARG_WITH(btl-mvapi-libdir,
AC_HELP_STRING([--with-btl-mvapi-libdir=IBLIBDIR],
[directory where the IB library can be found, if it is not in $IBDIR/lib or $IBDIR/lib64]))
# Quick sanity check
if test "$with_btl_mvapi" = "no"; then
AC_MSG_WARN([*** --without-btl-mvapi specified -- aborting])
AC_MSG_ERROR([Will not continue])
fi
# Find the right IBDIR
if test "$with_btl_mvapi" != "" -a "$with_btl_mvapi" != "yes" ; then
IBDIR="$with_btl_mvapi"
IBLIBDIR="$with_btl_mvapi"
fi
if test "$with_btl_mvapi_libdir" != "" -a "$with_btl_mvapi_libdir" != "yes" -a \
"$with_btl_mvapi_libdir" != "no"; then
IBLIBDIR="$with_btl_mvapi_libdir"
fi
# Add to CPPFLAGS if necessary
EXTRA_CPPFLAGS=
if test "$IBDIR" != ""; then
if test -d "$IBDIR/include"; then
EXTRA_CPPFLAGS="-I$IBDIR/include"
else
AC_MSG_WARN([*** Warning: cannot find $IBDIR/include])
AC_MSG_WARN([*** Will still try to configure mvapi btl anyway...])
fi
if test "$IBDIR" != "" -a -d "$IBDIR/wrap"; then
EXTRA_CPPFLAGS="-I$IBDIR/wrap $EXTRA_CPPFLAGS"
else
AC_MSG_WARN([*** Warning: cannot find $IBDIR/wrap])
AC_MSG_WARN([*** Will still try to configure ib btl anyway...])
fi
fi
# See if we can find vapi.h
CPPFLAGS="$CPPFLAGS $EXTRA_CPPFLAGS"
AC_CHECK_HEADERS(vapi.h,,
AC_MSG_ERROR([*** Cannot find working vapi.h]))
# Note that it is possible to find the library even if -L is not
# specified, if the LD_LIBRARY_PATH includes the directory where
# the shared ib library is kept. Hence, we unset LD_LIBRARY_PATH
# before running this test.
LD_LIBRARY_PATH_save="$LD_LIBRARY_PATH"
unset LD_LIBRARY_PATH
# Helpfer function to try to find libvapi (called from below). In
# some versions of Mellanox (v3.1), we need to expliitly link in
# the thread libraries. #$%#@$%@%#$!!!
# Many vapi.h's have horrid semantics and don't obey ISOC99
# standards. So we have to turn off flags like -pedantic. Sigh.
CFLAGS="`echo $CFLAGS | sed 's/-pedantic//g'`"
mca_btl_mvapi_try_find_libvapi() {
func1=[$]1
func2=[$]2
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
vapi_badness=
AC_CHECK_LIB([vapi], [$func1], [], [vapi_badness=true],
[-lmtl_common -lmpga -lmosal])
if test "$vapi_badness" != ""; then
AC_CHECK_LIB([pthread], [pthread_create],
[pthread=yes LIBS="$LIBS -lpthread"],
[pthread=no])
if test "$pthread" = "yes"; then
AC_TRY_LINK([#include <pthread.h>], [pthread_create(0,0,0,0);],
[pthreads="yes"],
[pthreads="no"])
fi
fi
}
# The libraries may be in $IBDIR/lib or $IBDIR/lib64. Try them
# both.
LIBS_save="$LIBS"
LDFLAGS_save="$LDFLAGS"
LIBS="$LIBS -lmosal -lmpga -lmtl_common"
LIBS_orig="$LIBS"
EXTRA_LDFLAGS=
if test -d "$IBLIBDIR/lib"; then
EXTRA_LDFLAGS="-L$IBLIBDIR/lib"
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
mca_btl_mvapi_try_find_libvapi VAPI_open_hca VAPI_query_hca_cap
if test "$LIBS" != "$LIBS_orig"; then
echo "--> found libvapi in $IBLIBDIR/lib"
fi
fi
if test "$LIBS" = "$LIBS_orig" -a -d "$IBLIBDIR/lib64"; then
EXTRA_LDFLAGS="-L$IBLIBDIR/lib64"
LDFLAGS="$LDFLAGS_save $EXTRA_LDFLAGS"
mca_btl_mvapi_try_find_libvapi EVAPI_list_hcas EVAPI_open_hca
if test "$LIBS" != "$LIBS_orig"; then
echo "--> found libvapi in $IBLIBDIR/lib64"
fi
fi
if test "$LIBS" = "$LIBS_orig"; then
AC_MSG_ERROR([*** Cannot find working libvapi.])
fi
LD_LIBRARY_PATH="$LD_LIBRARY_PATH_save"
LIBS="$LIBS -lmtl_common -lmpga"
#
# Save extra compiler/linker flags so that they can be added in
# the wrapper compilers, if necessary
#
WRAPPER_EXTRA_LDFLAGS="$EXTRA_LDFLAGS"
WRAPPER_EXTRA_LIBS="-lvapi -lmtl_common -lmpga -lmosal"
])dnl

Просмотреть файл

@ -18,9 +18,17 @@
AC_DEFUN([MCA_io_romio_CONFIG],[
io_romio_LIBS="$LIBS"
AC_ARG_ENABLE([io-romio],
[AC_HELP_STRING([--disable-io-romio],
[Disable the ROMIO MPI-IO component])])
AC_ARG_WITH([io-romio-flags],
[AC_HELP_STRING([--with-io-romio-flags=FLAGS],
[Pass FLAGS to the ROMIO distribution configuration script])])
AC_MSG_CHECKING([if want ROMIO component])
AS_IF([test "$enable_io_romio" = "no"],
[AC_MSG_RESULT([no])
$2],
[AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if MPI profiling is enabled])
AS_IF([test "$enable_mpi_profile" = "no"],
@ -54,5 +62,5 @@ AC_DEFUN([MCA_io_romio_CONFIG],[
$1],
[LIBS="$io_romio_LIBS"
AC_MSG_WARN([ROMIO distribution did not configure successfully])
$2])])
$2])])])
])

Просмотреть файл

@ -1,3 +1,4 @@
ompi
gshipman
twoodall
brbarret

Просмотреть файл

@ -18,6 +18,9 @@
include $(top_ompi_srcdir)/config/Makefile.options
CFLAGS = $(mpool_mvapi_CFLAGS)
AM_CPPFLAGS = $(mpool_mvapi_CPPFLAGS)
sources = \
mpool_mvapi.h \
mpool_mvapi_module.c \
@ -41,10 +44,12 @@ endif
mcacomponentdir = $(libdir)/openmpi
mcacomponent_LTLIBRARIES = $(component_install)
mca_mpool_mvapi_la_SOURCES = $(sources)
mca_mpool_mvapi_la_LDFLAGS = -module -avoid-version
mca_mpool_mvapi_la_LDFLAGS = -module -avoid-version $(mpool_mvapi_LDFLAGS)
mca_mpool_mvapi_la_LIBADD = $(mpool_mvapi_LIBS)
noinst_LTLIBRARIES = $(component_noinst)
libmca_mpool_mvapi_la_SOURCES = $(sources)
libmca_mpool_mvapi_la_LDFLAGS = -module -avoid-version
libmca_mpool_mvapi_la_LDFLAGS = -module -avoid-version $(mpool_mvapi_LDFLAGS)
libmca_mpool_mvapi_la_LIBADD = $(mpool_mvapi_LIBS)

43
ompi/mca/mpool/mvapi/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,43 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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$
#
# MCA_mpool_mvapi_CONFIG(action-if-can-compile,
# [action-if-cant-compile])
# ------------------------------------------------
AC_DEFUN([MCA_mpool_mvapi_CONFIG],[
OMPI_CHECK_MVAPI([mpool_mvapi],
[mpool_mvapi_happy="yes"],
[mpool_mvapi_happy="no"])
AS_IF([test "$mpool_mvapi_happy" = "yes"],
[mpool_mvapi_WRAPPER_EXTRA_LDFLAGS="$mpool_mvapi_LDFLAGS"
mpool_mvapi_WRAPPER_EXTRA_LIBS="$mpool_mvapi_LIBS"
$1],
[$2])
# Many vapi.h's have horrid semantics and don't obey ISOC99
# standards. So we have to turn off flags like -pedantic. Sigh.
mpool_mvapi_CFLAGS="`echo $CFLAGS | sed 's/-pedantic//g'`"
mpool_mvapi_CFLAGS="`echo $mpool_mvapi_CFLAGS | sed 's/-Wundef//g'`"
# substitute in the things needed to build Portals
AC_SUBST([mpool_mvapi_CFLAGS])
AC_SUBST([mpool_mvapi_CPPFLAGS])
AC_SUBST([mpool_mvapi_LDFLAGS])
AC_SUBST([mpool_mvapi_LIBS])
])dnl

Просмотреть файл

@ -1,158 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University.
# All rights reserved.
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
# 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$
#
#
# Main function. This will be invoked in the middle of the templated
# configure script.
#
AC_DEFUN([MCA_CONFIGURE_STUB],[
# Additional --with flags that can be specified
AC_ARG_WITH(btl-mvapi,
AC_HELP_STRING([--with-btl-mvapi=IBDIR],
[Specify the installation directory of IB (should enable the correct automatic determination of using the 32 or 64 bit library, if both are present under IBDIR/lib and IBDIR/lib64)]))
AC_ARG_WITH(btl-mvapi-libdir,
AC_HELP_STRING([--with-btl-mvapi-libdir=IBLIBDIR],
[directory where the IB library can be found, if it is not in $IBDIR/lib or $IBDIR/lib64]))
# Quick sanity check
if test "$with_btl_mvapi" = "no"; then
AC_MSG_WARN([*** --without-btl-mvapi specified -- aborting])
AC_MSG_ERROR([Will not continue])
fi
# Find the right IBDIR
if test "$with_btl_mvapi" != "" -a "$with_btl_mvapi" != "yes" ; then
IBDIR="$with_btl_mvapi"
IBLIBDIR="$with_btl_mvapi"
fi
if test "$with_btl_mvapi_libdir" != "" -a "$with_btl_mvapi_libdir" != "yes" -a \
"$with_btl_mvapi_libdir" != "no"; then
IBLIBDIR="$with_btl_mvapi_libdir"
fi
# Add to CPPFLAGS if necessary
EXTRA_CPPFLAGS=
if test "$IBDIR" != ""; then
if test -d "$IBDIR/include"; then
EXTRA_CPPFLAGS="-I$IBDIR/include"
else
AC_MSG_WARN([*** Warning: cannot find $IBDIR/include])
AC_MSG_WARN([*** Will still try to configure ib btl anyway...])
fi
if test "$IBDIR" != "" -a -d "$IBDIR/wrap"; then
EXTRA_CPPFLAGS="-I$IBDIR/wrap $EXTRA_CPPFLAGS"
else
AC_MSG_WARN([*** Warning: cannot find $IBDIR/wrap])
AC_MSG_WARN([*** Will still try to configure ib btl anyway...])
fi
fi
# See if we can find vapi.h
CPPFLAGS="$CPPFLAGS $EXTRA_CPPFLAGS"
AC_CHECK_HEADERS(vapi.h,,
AC_MSG_ERROR([*** Cannot find working vapi.h]))
# Note that it is possible to find the library even if -L is not
# specified, if the LD_LIBRARY_PATH includes the directory where
# the shared ib library is kept. Hence, we unset LD_LIBRARY_PATH
# before running this test.
LD_LIBRARY_PATH_save="$LD_LIBRARY_PATH"
unset LD_LIBRARY_PATH
# Helpfer function to try to find libvapi (called from below). In
# some versions of Mellanox (v3.1), we need to expliitly link in
# the thread libraries. #$%#@$%@%#$!!!
# Many vapi.h's have horrid semantics and don't obey ISOC99
# standards. So we have to turn off flags like -pedantic. Sigh.
CFLAGS="`echo $CFLAGS | sed 's/-pedantic//g'`"
mca_btl_mvapi_try_find_libvapi() {
func1=[$]1
func2=[$]2
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
vapi_badness=
AC_CHECK_LIB([vapi], [$func1], [], [vapi_badness=true],
[-lmtl_common -lmpga -lmosal])
if test "$vapi_badness" != ""; then
AC_TRY_LINK([#include <pthread.h>], [pthread_create(0,0,0,0);],
[pthreads="yes"],
[pthreads="no"])
if test "$pthread" = "yes"; then
AC_CHECK_LIB([vapi], [$func2], [], [],
[-lmtl_common -lmpga -lmosal])
fi
fi
}
# The libraries may be in $IBDIR/lib or $IBDIR/lib64. Try them
# both.
LIBS_save="$LIBS"
LDFLAGS_save="$LDFLAGS"
LIBS="$LIBS -lmosal -lmpga -lmtl_common"
LIBS_orig="$LIBS"
EXTRA_LDFLAGS=
if test -d "$IBLIBDIR/lib"; then
EXTRA_LDFLAGS="-L$IBLIBDIR/lib"
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
mca_btl_mvapi_try_find_libvapi VAPI_open_hca VAPI_query_hca_cap
if test "$LIBS" != "$LIBS_orig"; then
echo "--> found libvapi in $IBLIBDIR/lib"
fi
fi
if test "$LIBS" = "$LIBS_orig" -a -d "$IBLIBDIR/lib64"; then
EXTRA_LDFLAGS="-L$IBLIBDIR/lib64"
LDFLAGS="$LDFLAGS_save $EXTRA_LDFLAGS"
mca_btl_mvapi_try_find_libvapi EVAPI_list_hcas EVAPI_open_hca
if test "$LIBS" != "$LIBS_orig"; then
echo "--> found libvapi in $IBLIBDIR/lib64"
fi
fi
if test "$LIBS" = "$LIBS_orig"; then
AC_MSG_ERROR([*** Cannot find working libvapi.])
fi
LD_LIBRARY_PATH="$LD_LIBRARY_PATH_save"
LIBS="$LIBS -lmtl_common -lmpga"
#
# Save extra compiler/linker flags so that they can be added in
# the wrapper compilers, if necessary
#
WRAPPER_EXTRA_LDFLAGS="$EXTRA_LDFLAGS"
WRAPPER_EXTRA_LIBS="-lvapi -lmtl_common -lmpga -lmosal"
])dnl

Просмотреть файл

@ -25,6 +25,7 @@
#include "mca/errmgr/errmgr.h"
#include "mca/ns/base/base.h"
#include "mca/ns/base/ns_base_nds.h"
#include "opal/util/output.h"
static orte_ns_nds_t orte_ns_nds[] = {