Merge pull request #5400 from rhc54/topic/extpmix
Default to external PMIx installation
Этот коммит содержится в:
Коммит
22a13e34d8
@ -247,36 +247,58 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
AC_MSG_WARN([an external copy that you supply.])
|
||||
AC_MSG_ERROR([Cannot continue])])
|
||||
|
||||
AC_MSG_CHECKING([if user requested external PMIx support($with_pmix)])
|
||||
AC_MSG_CHECKING([if user requested internal PMIx support($with_pmix)])
|
||||
opal_prun_happy=no
|
||||
opal_external_have_pmix1=0
|
||||
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "internal"],
|
||||
[AC_MSG_RESULT([no])
|
||||
opal_external_pmix_happy=no
|
||||
opal_prun_happy=yes],
|
||||
opal_external_have_pmix1=0
|
||||
|
||||
AS_IF([test "$with_pmix" = "internal"],
|
||||
[AC_MSG_RESULT([yes])
|
||||
opal_external_pmix_happy=no
|
||||
opal_prun_happy=yes
|
||||
opal_external_pmix_version=internal],
|
||||
|
||||
[AC_MSG_RESULT([no])
|
||||
# check for external pmix lib */
|
||||
AS_IF([test "$with_pmix" = "external"],
|
||||
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "yes" || test "$with_pmix" = "external"],
|
||||
[pmix_ext_install_dir=/usr],
|
||||
[pmix_ext_install_dir=$with_pmix])
|
||||
|
||||
# Make sure we have the headers and libs in the correct location
|
||||
OPAL_CHECK_WITHDIR([external-pmix], [$pmix_ext_install_dir/include], [pmix.h])
|
||||
AC_MSG_CHECKING([for pmix.h in $pmix_ext_install_dir])
|
||||
files=`ls $pmix_ext_install_dir/pmix.h 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_header_happy=yes],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_CHECKING([for pmix.h in $pmix_ext_install_dir/include])
|
||||
files=`ls $pmix_ext_install_dir/include/pmix.h 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_header_happy=yes],
|
||||
[AC_MSG_RESULT([not found])
|
||||
opal_external_pmix_header_happy=no
|
||||
opal_external_pmix_version=internal])])
|
||||
|
||||
AS_IF([test -n "$with_pmix_libdir"],
|
||||
AS_IF([test "$opal_external_pmix_header_happy" = "yes"],
|
||||
[AS_IF([test -n "$with_pmix_libdir"],
|
||||
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir])
|
||||
files=`ls $with_pmix_libdir/libpmix.* 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[pmix_ext_install_libdir=$with_pmix_libdir],
|
||||
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
|
||||
[AC_MSG_RESULT([found])
|
||||
pmix_ext_install_libdir=$with_pmix_libdir],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib64])
|
||||
files=`ls $with_pmix_libdir/lib64/libpmix.* 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[pmix_ext_install_libdir=$with_pmix_libdir/lib64],
|
||||
[AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
|
||||
[AC_MSG_RESULT([found])
|
||||
pmix_ext_install_libdir=$with_pmix_libdir/lib64],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_CHECKING([libpmix.* in $with_pmix_libdir/lib])
|
||||
files=`ls $with_pmix_libdir/lib/libpmix.* 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[pmix_ext_install_libdir=$with_pmix_libdir/lib],
|
||||
[AC_MSG_RESULT([found])
|
||||
pmix_ext_install_libdir=$with_pmix_libdir/lib],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_ERROR([Cannot continue])])])])],
|
||||
[# check for presence of lib64 directory - if found, see if the
|
||||
@ -284,11 +306,14 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib64])
|
||||
files=`ls $pmix_ext_install_dir/lib64/libpmix.* 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
|
||||
[AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
|
||||
[AC_MSG_RESULT([found])
|
||||
pmix_ext_install_libdir=$pmix_ext_install_dir/lib64],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_CHECKING([libpmix.* in $pmix_ext_install_dir/lib])
|
||||
files=`ls $pmix_ext_install_dir/lib/libpmix.* 2> /dev/null | wc -l`
|
||||
AS_IF([test "$files" -gt 0],
|
||||
[pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
|
||||
[AC_MSG_RESULT([found])
|
||||
pmix_ext_install_libdir=$pmix_ext_install_dir/lib],
|
||||
[AC_MSG_RESULT([not found])
|
||||
AC_MSG_ERROR([Cannot continue])])])])
|
||||
|
||||
@ -298,14 +323,15 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
opal_external_pmix_save_LIBS=$LIBS
|
||||
|
||||
# if the pmix_version.h file does not exist, then
|
||||
# this must be from a pre-1.1.5 version
|
||||
# this must be from a pre-1.1.5 version OMPI does
|
||||
# NOT support anything older than v1.2.5
|
||||
AC_MSG_CHECKING([PMIx version])
|
||||
CPPFLAGS="-I$pmix_ext_install_dir/include $CPPFLAGS"
|
||||
AS_IF([test "x`ls $pmix_ext_install_dir/include/pmix_version.h 2> /dev/null`" = "x"],
|
||||
[AC_MSG_RESULT([version file not found - assuming v1.1.4])
|
||||
opal_external_pmix_version_found=1
|
||||
opal_external_pmix_version=114
|
||||
opal_external_have_pmix1=1],
|
||||
opal_external_pmix_happy=no
|
||||
opal_external_pmix_version=internal],
|
||||
[AC_MSG_RESULT([version file found])
|
||||
opal_external_pmix_version_found=0])
|
||||
|
||||
@ -321,7 +347,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
], [])],
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_version=4x
|
||||
opal_external_pmix_version_found=1],
|
||||
opal_external_pmix_version_found=1
|
||||
opal_external_pmix_happy=yes],
|
||||
[AC_MSG_RESULT([not found])])])
|
||||
|
||||
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
||||
@ -334,7 +361,8 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
], [])],
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_version=3x
|
||||
opal_external_pmix_version_found=1],
|
||||
opal_external_pmix_version_found=1
|
||||
opal_external_pmix_happy=yes],
|
||||
[AC_MSG_RESULT([not found])])])
|
||||
|
||||
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
||||
@ -348,41 +376,62 @@ AC_DEFUN([OPAL_CHECK_PMIX],[
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_version=2x
|
||||
opal_external_pmix_version_found=1
|
||||
opal_prun_happy=yes],
|
||||
opal_prun_happy=yes
|
||||
opal_external_pmix_happy=yes],
|
||||
[AC_MSG_RESULT([not found])])])
|
||||
|
||||
AS_IF([test "$opal_external_pmix_version_found" = "0"],
|
||||
[AC_MSG_CHECKING([version 1x])
|
||||
AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
|
||||
#include <pmix_version.h>
|
||||
#if (PMIX_VERSION_MAJOR != 1L)
|
||||
#error "not version 1"
|
||||
#if (PMIX_VERSION_MAJOR != 1L && PMIX_VERSION_MINOR != 2L)
|
||||
#error "not version 1.2.x"
|
||||
#endif
|
||||
], [])],
|
||||
[AC_MSG_RESULT([found])
|
||||
opal_external_pmix_version=1x
|
||||
opal_external_pmix_version=1.2.x
|
||||
opal_external_pmix_version_found=1
|
||||
opal_external_have_pmix1=1],
|
||||
opal_external_have_pmix1=1
|
||||
opal_external_pmix_happy=yes],
|
||||
[AC_MSG_RESULT([not found])])])
|
||||
|
||||
AS_IF([test "x$opal_external_pmix_version" = "x"],
|
||||
[AC_MSG_WARN([External PMIx support requested, but version])
|
||||
[AC_MSG_WARN([External PMIx support detected, but version])
|
||||
AC_MSG_WARN([information of the external lib could not])
|
||||
AC_MSG_WARN([be detected])
|
||||
AC_MSG_ERROR([cannot continue])])
|
||||
AC_MSG_WARN([Internal version will be used])
|
||||
opal_external_pmix_happy=no])
|
||||
|
||||
CPPFLAGS=$opal_external_pmix_save_CPPFLAGS
|
||||
LDFLAGS=$opal_external_pmix_save_LDFLAGS
|
||||
LIBS=$opal_external_pmix_save_LIBS
|
||||
])
|
||||
])
|
||||
|
||||
# Final check - if they explicitly pointed us at an external
|
||||
# installation that wasn't acceptable, then error out
|
||||
AS_IF([test -n "$with_pmix" && test "$with_pmix" != "yes" && test "$with_pmix" != "external" && test "$with_pmix" != "internal" && test "$opal_external_pmix_happy" = "no"],
|
||||
[AC_MSG_WARN([External PMIx support requested, but either the version])
|
||||
AC_MSG_WARN([of the external lib was not supported or the required])
|
||||
AC_MSG_WARN([header/library files were not found])
|
||||
AC_MSG_ERROR([Cannot continue])])
|
||||
|
||||
AC_MSG_CHECKING([PMIx version to be used])
|
||||
AS_IF([test "$opal_external_pmix_happy" = "yes"],
|
||||
[AC_MSG_RESULT([external($opal_external_pmix_version)])
|
||||
AS_IF([test "$pmix_ext_install_dir" != "/usr"],
|
||||
[opal_external_pmix_CPPFLAGS="-I$pmix_ext_install_dir/include"
|
||||
opal_external_pmix_LDFLAGS=-L$pmix_ext_install_libdir])
|
||||
opal_external_pmix_LIBS=-lpmix
|
||||
opal_external_pmix_happy=yes])
|
||||
opal_external_pmix_LIBS=-lpmix],
|
||||
[AC_MSG_RESULT([internal])])
|
||||
|
||||
AC_DEFINE_UNQUOTED([OPAL_PMIX_V1],[$opal_external_have_pmix1],
|
||||
[Whether the external PMIx library is v1])
|
||||
AM_CONDITIONAL([OPAL_WANT_PRUN], [test "$opal_prun_happy" = "yes"])
|
||||
|
||||
AS_IF([test "$opal_external_pmix_version" = "1.2.x"],
|
||||
[OPAL_SUMMARY_ADD([[Miscellaneous]],[[PMIx support]], [opal_pmix], [$opal_external_pmix_version: WARNING - DYNAMIC OPS NOT SUPPORTED])],
|
||||
[OPAL_SUMMARY_ADD([[Miscellaneous]],[[PMIx support]], [opal_pmix], [$opal_external_pmix_version])])
|
||||
|
||||
OPAL_VAR_SCOPE_POP
|
||||
])
|
||||
|
@ -13,7 +13,7 @@
|
||||
# Copyright (c) 2011-2013 Los Alamos National Security, LLC.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2010-2017 Cisco Systems, Inc. All rights reserved.
|
||||
# Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2013-2018 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
@ -77,9 +77,7 @@ AC_DEFUN([MCA_opal_pmix_pmix3x_CONFIG],[
|
||||
LDFLAGS=$opal_pmix_pmix3x_save_LDFLAGS
|
||||
LIBS=$opal_pmix_pmix3x_save_LIBS
|
||||
|
||||
# If we are not building the internal pmix, then check to see
|
||||
# if we are linking to an external v2.x library. If not, then
|
||||
# do not use this component. NOTE: we still did all the
|
||||
# See if we are using the internal version. NOTE: we still did all the
|
||||
# above configury so that all the proper GNU Autotools
|
||||
# infrastructure is setup properly (e.g., w.r.t. SUBDIRS=pmix in
|
||||
# this directory's Makefile.am, we still need the Autotools "make
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user