Merge pull request #5304 from rhc54/topic/resync
Sync to updated PMIx v3.0.0rc
Этот коммит содержится в:
Коммит
6a504a1544
@ -30,7 +30,7 @@ greek=
|
||||
# command, or with the date (if "git describe" fails) in the form of
|
||||
# "date<date>".
|
||||
|
||||
repo_rev=git88fa9a9
|
||||
repo_rev=git7b5106a
|
||||
|
||||
# If tarball_version is not empty, it is used as the version string in
|
||||
# the tarball filename, regardless of all other versions listed in
|
||||
@ -44,7 +44,7 @@ tarball_version=
|
||||
|
||||
# The date when this release was created
|
||||
|
||||
date="Jun 17, 2018"
|
||||
date="Jun 19, 2018"
|
||||
|
||||
# The shared library version of each of PMIx's public libraries.
|
||||
# These versions are maintained in accordance with the "Library
|
||||
|
@ -25,52 +25,44 @@ dnl $HEADER$
|
||||
dnl
|
||||
|
||||
AC_DEFUN([PMIX_CC_HELPER],[
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_prog_cc_c11_helper_tmp])
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_cc_helper_result])
|
||||
AC_MSG_CHECKING([$1])
|
||||
|
||||
pmix_prog_cc_c11_helper_tmp=0
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([$3],[$4])],
|
||||
[$2=1
|
||||
pmix_cc_helper_result=yes],
|
||||
[$2=0
|
||||
pmix_cc_helper_result=no])
|
||||
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([$3],[$4])],[
|
||||
$2=yes
|
||||
pmix_prog_cc_c11_helper_tmp=1], [$2=no])
|
||||
|
||||
AC_DEFINE_UNQUOTED([$5], [$pmix_prog_cc_c11_helper_tmp], [$6])
|
||||
|
||||
AC_MSG_RESULT([$$2])
|
||||
AC_MSG_RESULT([$pmix_cc_helper_result])
|
||||
PMIX_VAR_SCOPE_POP
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([PMIX_PROG_CC_C11_HELPER],[
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_prog_cc_c11_helper_CFLAGS_save pmix_prog_cc_c11_helper__Thread_local_available pmix_prog_cc_c11_helper_atomic_var_available pmix_prog_cc_c11_helper__Atomic_available pmix_prog_cc_c11_helper__static_assert_available pmix_prog_cc_c11_helper__Generic_available])
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_prog_cc_c11_helper_CFLAGS_save])
|
||||
|
||||
pmix_prog_cc_c11_helper_CFLAGS_save=$CFLAGS
|
||||
CFLAGS="$CFLAGS $1"
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 _Thread_local], [pmix_prog_cc_c11_helper__Thread_local_available],
|
||||
[],[[static _Thread_local int foo = 1;++foo;]], [PMIX_C_HAVE__THREAD_LOCAL],
|
||||
[Whether C compiler supports __Thread_local])
|
||||
[],[[static _Thread_local int foo = 1;++foo;]])
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 atomic variables], [pmix_prog_cc_c11_helper_atomic_var_available],
|
||||
[[#include <stdatomic.h>]], [[static atomic_long foo = 1;++foo;]], [PMIX_C_HAVE_ATOMIC_CONV_VAR],
|
||||
[Whether C compiler support atomic convenience variables in stdatomic.h])
|
||||
[[#include <stdatomic.h>]], [[static atomic_long foo = 1;++foo;]])
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 _Atomic keyword], [pmix_prog_cc_c11_helper__Atomic_available],
|
||||
[[#include <stdatomic.h>]],[[static _Atomic long foo = 1;++foo;]], [PMIX_C_HAVE__ATOMIC],
|
||||
[Whether C compiler supports __Atomic keyword])
|
||||
[[#include <stdatomic.h>]],[[static _Atomic long foo = 1;++foo;]])
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 _Generic keyword], [pmix_prog_cc_c11_helper__Generic_available],
|
||||
[[#define FOO(x) (_Generic (x, int: 1))]], [[static int x, y; y = FOO(x);]], [PMIX_C_HAVE__GENERIC],
|
||||
[Whether C compiler supports __Generic keyword])
|
||||
[[#define FOO(x) (_Generic (x, int: 1))]], [[static int x, y; y = FOO(x);]])
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 _Static_assert], [pmix_prog_cc_c11_helper__static_assert_available],
|
||||
[[#include <stdint.h>]],[[_Static_assert(sizeof(int64_t) == 8, "WTH");]], [PMIX_C_HAVE__STATIC_ASSERT],
|
||||
[Whether C compiler support _Static_assert keyword])
|
||||
[[#include <stdint.h>]],[[_Static_assert(sizeof(int64_t) == 8, "WTH");]])
|
||||
|
||||
dnl At this time Open MPI only needs thread local and the atomic convenience types for C11 support. These
|
||||
dnl will likely be required in the future.
|
||||
AS_IF([test "x$pmix_prog_cc_c11_helper__Thread_local_available" = "xyes" && test "x$pmix_prog_cc_c11_helper_atomic_var_available" = "xyes"],
|
||||
[$2], [$3])
|
||||
AS_IF([test $pmix_prog_cc_c11_helper__Thread_local_available -eq 1 && test $pmix_prog_cc_c11_helper_atomic_var_available -eq 1],
|
||||
[$2],
|
||||
[$3])
|
||||
|
||||
CFLAGS=$pmix_prog_cc_c11_helper_CFLAGS_save
|
||||
|
||||
@ -136,6 +128,8 @@ AC_DEFUN([PMIX_SETUP_CC],[
|
||||
AC_REQUIRE([_PMIX_PROG_CC])
|
||||
AC_REQUIRE([AM_PROG_CC_C_O])
|
||||
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_prog_cc_c11_helper__Thread_local_available pmix_prog_cc_c11_helper_atomic_var_available pmix_prog_cc_c11_helper__Atomic_available pmix_prog_cc_c11_helper__static_assert_available pmix_prog_cc_c11_helper__Generic_available pmix_prog_cc__thread_available])
|
||||
|
||||
PMIX_PROG_CC_C11
|
||||
|
||||
if test $pmix_cv_c11_supported = no ; then
|
||||
@ -157,11 +151,32 @@ AC_DEFUN([PMIX_SETUP_CC],[
|
||||
fi
|
||||
|
||||
# Check if compiler support __thread
|
||||
PMIX_VAR_SCOPE_PUSH([pmix_prog_cc__thread_available])
|
||||
PMIX_CC_HELPER([if $CC $1 supports __thread], [pmix_prog_cc__thread_available],
|
||||
[],[[static __thread int foo = 1;++foo;]], [PMIX_C_HAVE___THREAD],
|
||||
[Whether C compiler supports __thread])
|
||||
PMIX_VAR_SCOPE_POP
|
||||
[],[[static __thread int foo = 1;++foo;]])
|
||||
|
||||
|
||||
PMIX_CC_HELPER([if $CC $1 supports C11 _Thread_local], [pmix_prog_cc_c11_helper__Thread_local_available],
|
||||
[],[[static _Thread_local int foo = 1;++foo;]])
|
||||
|
||||
dnl At this time, PMIx only needs thread local and the atomic convenience tyes for C11 suport. These
|
||||
dnl will likely be required in the future.
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE__THREAD_LOCAL], [$pmix_prog_cc_c11_helper__Thread_local_available],
|
||||
[Whether C compiler supports __Thread_local])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE_ATOMIC_CONV_VAR], [$pmix_prog_cc_c11_helper_atomic_var_available],
|
||||
[Whether C compiler supports atomic convenience variables in stdatomic.h])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE__ATOMIC], [$pmix_prog_cc_c11_helper__Atomic_available],
|
||||
[Whether C compiler supports __Atomic keyword])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE__GENERIC], [$pmix_prog_cc_c11_helper__Generic_available],
|
||||
[Whether C compiler supports __Generic keyword])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE__STATIC_ASSERT], [$pmix_prog_cc_c11_helper__static_assert_available],
|
||||
[Whether C compiler supports _Static_assert keyword])
|
||||
|
||||
AC_DEFINE_UNQUOTED([PMIX_C_HAVE___THREAD], [$pmix_prog_cc__thread_available],
|
||||
[Whether C compiler supports __thread])
|
||||
|
||||
PMIX_C_COMPILER_VENDOR([pmix_c_vendor])
|
||||
|
||||
@ -456,6 +471,7 @@ AC_DEFUN([PMIX_SETUP_CC],[
|
||||
PMIX_ENSURE_CONTAINS_OPTFLAGS(["$CFLAGS"])
|
||||
AC_MSG_RESULT([$co_result])
|
||||
CFLAGS="$co_result"
|
||||
PMIX_VAR_SCOPE_POP
|
||||
])
|
||||
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2014-2017 Intel, Inc. All rights reserved.
|
||||
# Copyright (c) 2016 IBM Corporation. All rights reserved.
|
||||
# Copyright (c) 2016 Research Organization for Information Science
|
||||
# Copyright (c) 2016-2018 Research Organization for Information Science
|
||||
# and Technology (RIST). All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
@ -205,8 +205,6 @@ AS_IF([test -z "$CC_FOR_BUILD"],[
|
||||
AC_SUBST([CC_FOR_BUILD], [$CC])
|
||||
])
|
||||
|
||||
PMIX_SETUP_CC
|
||||
|
||||
# Cleanup duplicate flags
|
||||
PMIX_FLAGS_UNIQ(CPPFLAGS)
|
||||
PMIX_FLAGS_UNIQ(LDFLAGS)
|
||||
|
@ -32,12 +32,11 @@ AC_DEFUN([MCA_pmix_pnet_opa_CONFIG],[
|
||||
|
||||
AC_ARG_WITH([opamgt],
|
||||
[AC_HELP_STRING([--with-opamgt(=DIR)],
|
||||
[Build OmniPath Fabric Management support (optionally adding DIR/include, DIR/include/opamgt, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
||||
[Build OmniPath Fabric Management support (optionally adding DIR/include, DIR/include/opamgt, DIR/lib, and DIR/lib64 to the search path for headers and libraries])], [], [with_opamgt=no])
|
||||
|
||||
AC_ARG_WITH([opamgt-libdir],
|
||||
[AC_HELP_STRING([--with-opamgt-libdir=DIR],
|
||||
[Search for OmniPath Fabric Management libraries in DIR])])
|
||||
PMIX_CHECK_WITHDIR([opamgt-libdir], [$with_opamgt_libdir], [libopamgt.*])
|
||||
|
||||
pmix_check_opamgt_save_CPPFLAGS="$CPPFLAGS"
|
||||
pmix_check_opamgt_save_LDFLAGS="$LDFLAGS"
|
||||
@ -46,14 +45,19 @@ AC_DEFUN([MCA_pmix_pnet_opa_CONFIG],[
|
||||
pmix_check_opamgt_libdir=
|
||||
pmix_check_opamgt_dir=
|
||||
|
||||
AS_IF([test "$with_opamgt" != "no"],
|
||||
[AS_IF([test ! -z "$with_opamgt" && test "$with_opamgt" != "yes"],
|
||||
AC_MSG_CHECKING([if opamgt requested])
|
||||
AS_IF([test "$with_opamgt" == "no"],
|
||||
[AC_MSG_RESULT([no])
|
||||
pmix_check_opamgt_happy=no],
|
||||
[AC_MSG_RESULT([yes])
|
||||
PMIX_CHECK_WITHDIR([opamgt-libdir], [$with_opamgt_libdir], [libopamgt.*])
|
||||
AS_IF([test ! -z "$with_opamgt" && test "$with_opamgt" != "yes"],
|
||||
[pmix_check_opamgt_dir="$with_opamgt"
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" -o test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" || test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
[$pmix_check_opamgt_dir=$pmix_check_opamgt_dir/include
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" -o test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" || test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
[$pmix_check_opamgt_dir=$pmix_check_opamgt_dir/opamgt
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" -o test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir" || test ! -f "$pmix_check_opamgt_dir/opamgt.h"],
|
||||
[AC_MSG_WARN([OmniPath Fabric Management support requested, but])
|
||||
AC_MSG_WARN([required header file opamgt.h not found. Locations tested:])
|
||||
AC_MSG_WARN([ $with_opamgt])
|
||||
@ -65,21 +69,24 @@ AC_DEFUN([MCA_pmix_pnet_opa_CONFIG],[
|
||||
AS_IF([test ! -z "$with_opamgt_libdir" && test "$with_opamgt_libdir" != "yes"],
|
||||
[pmix_check_opamgt_libdir="$with_opamgt_libdir"])
|
||||
|
||||
PMIX_CHECK_PACKAGE([pnet_opamgt],
|
||||
[opamgt.h],
|
||||
[opamgt],
|
||||
[omgt_query_sa],
|
||||
[],
|
||||
[$pmix_check_opamgt_dir],
|
||||
[$pmix_check_opamgt_libdir],
|
||||
[pmix_check_opamgt_happy="yes"],
|
||||
[pmix_check_opamgt_happy="no"])],
|
||||
[pmix_check_opamgt_happy="no"])
|
||||
|
||||
pnet_opa_CFLAGS="$pnet_opa_CFLAGS $pnet_opamgt_CFLAGS"
|
||||
pnet_opa_CPPFLAGS="$pnet_opa_CPPFLAGS $pnet_opamgt_CPPFLAGS"
|
||||
pnet_opa_LDFLAGS="$pnet_opa_LDFLAGS $pnet_opamgt_LDFLAGS"
|
||||
pnet_opa_LIBS="$pnet_opa_LIBS $pnet_opamgt_LIBS"
|
||||
# no easy way to check this, so let's ensure that the
|
||||
# full opamgt install was done, including the iba support
|
||||
AS_IF([test ! -d "$pmix_check_opamgt_dir/iba" || test ! -f "$pmix_check_opamgt_dir/iba/vpi.h"],
|
||||
[pmix_check_opamgt_happy="no"],
|
||||
[PMIX_CHECK_PACKAGE([pnet_opamgt],
|
||||
[opamgt.h],
|
||||
[opamgt],
|
||||
[omgt_query_sa],
|
||||
[],
|
||||
[$pmix_check_opamgt_dir],
|
||||
[$pmix_check_opamgt_libdir],
|
||||
[pmix_check_opamgt_happy="yes"
|
||||
pnet_opa_CFLAGS="$pnet_opa_CFLAGS $pnet_opamgt_CFLAGS"
|
||||
pnet_opa_CPPFLAGS="$pnet_opa_CPPFLAGS $pnet_opamgt_CPPFLAGS"
|
||||
pnet_opa_LDFLAGS="$pnet_opa_LDFLAGS $pnet_opamgt_LDFLAGS"
|
||||
pnet_opa_LIBS="$pnet_opa_LIBS $pnet_opamgt_LIBS"],
|
||||
[pmix_check_opamgt_happy="no"])])
|
||||
])
|
||||
|
||||
AS_IF([test "$pmix_check_opamgt_happy" = "yes"],
|
||||
[pmix_want_opamgt=1],
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user