Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

Commit 288b4ef

Browse files
authored
Merge pull request #1277 from rhc54/cmr20/pmixupdate
Update PMIx support to the 1.1.5 release
2 parents e142840 + 6e101d1 commit 288b4ef

File tree

137 files changed

+5577
-2376
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+5577
-2376
lines changed

opal/mca/pmix/pmix112/pmix/Makefile.am

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ EXTRA_DIST =
3131
# Only install the valgrind suppressions file if we're building in
3232
# standalone mode
3333
dist_pmixdata_DATA =
34+
3435
if ! PMIX_EMBEDDED_MODE
3536
dist_pmixdata_DATA += contrib/pmix-valgrind.supp
36-
endif
3737

3838
man_MANS = \
3939
man/man3/pmix_init.3 \
@@ -42,9 +42,13 @@ man_MANS = \
4242
man/man3/pmix_abort.3 \
4343
man/man3/pmix_put.3 \
4444
man/man3/pmix_commit.3 \
45+
man/man3/pmix_fence.3 \
46+
man/man3/pmix_get.3 \
4547
man/man7/pmix.7 \
4648
man/man7/pmix_constants.7
4749

50+
endif
51+
4852
include config/Makefile.am
4953
include include/Makefile.am
5054
include src/class/Makefile.am
@@ -61,17 +65,22 @@ if PMIX_EMBEDDED_MODE
6165
noinst_LTLIBRARIES = libpmix.la
6266
libpmix_la_SOURCES = $(headers) $(sources)
6367
libpmix_la_LDFLAGS =
68+
6469
else
70+
6571
lib_LTLIBRARIES = libpmix.la
6672
libpmix_la_SOURCES = $(headers) $(sources)
6773
libpmix_la_LDFLAGS = -version-info $(libpmix_so_version)
74+
SUBDIRS = . test examples
6875
endif
6976

70-
71-
if ! PMIX_EMBEDDED_MODE
72-
SUBDIRS = . test
77+
if WANT_INSTALL_HEADERS
7378
pmixdir = $(pmixincludedir)/$(subdir)
7479
nobase_pmix_HEADERS = $(headers)
80+
81+
else
82+
83+
noinst_HEADERS = $(headers)
7584
endif
7685

7786
nroff:
@@ -82,14 +91,15 @@ nroff:
8291

8392
EXTRA_DIST += README INSTALL VERSION LICENSE autogen.sh \
8493
config/pmix_get_version.sh $(man_MANS) \
85-
contrib/platform/optimized \
86-
test/test_common.h test/cli_stages.h \
87-
test/server_callbacks.h test/test_fence.h \
88-
test/test_publish.h test/test_resolve_peers.h \
89-
test/test_spawn.h test/utils.h test/test_cd.h \
90-
examples/client.c examples/dmodex.c examples/dynamic.c \
91-
examples/fault.c examples/pub.c
94+
contrib/platform/optimized
9295

96+
if ! PMIX_EMBEDDED_MODE
97+
98+
EXTRA_DIST += test/test_common.h test/cli_stages.h \
99+
test/server_callbacks.h test/test_fence.h \
100+
test/test_publish.h test/test_resolve_peers.h \
101+
test/test_spawn.h test/utils.h test/test_cd.h
102+
endif
93103

94104
dist-hook:
95105
env LS_COLORS= sh "$(top_srcdir)/config/distscript.sh" "$(top_srcdir)" "$(distdir)" "$(PMIX_VERSION)" "$(PMIX_REPO_REV)"

opal/mca/pmix/pmix112/pmix/NEWS

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2015 Intel, Inc. All rights reserved.
1+
Copyright (c) 2015-2016 Intel, Inc. All rights reserved.
22
$COPYRIGHT$
33

44
Additional copyrights may follow
@@ -23,6 +23,39 @@ current release as well as the "stable" bug fix release branch.
2323
Master (not on release branches yet)
2424
------------------------------------
2525

26+
1.1.4
27+
-----
28+
- Properly increment the reference count for PMIx_Init
29+
- Fix examples so all run properly
30+
- Fix/complete PMI2 backward compatibility support to handle
31+
keys that are not associated with a specific rank
32+
- Do a better job of hiding non-API symbols
33+
- Correct handling of semi-colon terminations on macros.
34+
Thanks to Ashley Pittman for the patch
35+
- Add more man pages
36+
- Improve error checking and messages for connection
37+
attempts from client to server
38+
- If the tmpdir name is too long, provide an appropriate
39+
help message to the user (particularly relevant on
40+
Mac OSX). Thanks to Rainer Keller for the patch.
41+
- Fix some C++ compatibility issues
42+
- Fix/complete PMI-1 backward compatibility support
43+
- Do not install internal headers unless specifically
44+
requested to do so
45+
- Add support for multiple calls to Put/Commit
46+
- Silence some "return code unchecked" warnings. Thanks
47+
to Jim Garlick for pointing them out
48+
- Resolve a race condition during register_clients
49+
50+
51+
1.1.3
52+
-----
53+
- Update the symbol hiding file to cover all symbols
54+
- Fix examples and test directory Makefile.am's so
55+
the Makefiles are automatically built and the
56+
code compiled, but not installed
57+
- Do not install the pmix library in embedded use-cases
58+
2659

2760
1.1.2
2861
-----

opal/mca/pmix/pmix112/pmix/VERSION

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# Copyright (c) 2011 NVIDIA Corporation. All rights reserved.
44
# Copyright (c) 2013 Mellanox Technologies, Inc.
55
# All rights reserved.
6-
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
6+
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
77

88
# This is the VERSION file for PMIx, describing the precise
99
# version of PMIx in this distribution. The various components of
@@ -15,7 +15,7 @@
1515

1616
major=1
1717
minor=1
18-
release=2
18+
release=4
1919

2020
# greek is used for alpha or beta release tags. If it is non-empty,
2121
# it will be appended to the version number. It does not have to be
@@ -30,7 +30,7 @@ greek=
3030
# command, or with the date (if "git describe" fails) in the form of
3131
# "date<date>".
3232

33-
repo_rev=git17ae5a4
33+
repo_rev=git4695e45
3434

3535
# If tarball_version is not empty, it is used as the version string in
3636
# the tarball filename, regardless of all other versions listed in
@@ -44,7 +44,7 @@ tarball_version=
4444

4545
# The date when this release was created
4646

47-
date="Dec 12, 2015"
47+
date="Jun 01, 2016"
4848

4949
# The shared library version of each of PMIx's public libraries.
5050
# These versions are maintained in accordance with the "Library
@@ -75,4 +75,4 @@ date="Dec 12, 2015"
7575
# Version numbers are described in the Libtool current:revision:age
7676
# format.
7777

78-
libpmix_so_version=2:1:0
78+
libpmix_so_version=2:3:0

opal/mca/pmix/pmix112/pmix/config/pmix.m4

Lines changed: 59 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ dnl Copyright (c) 2011-2013 NVIDIA Corporation. All rights reserved.
2020
dnl Copyright (c) 2013-2015 Intel, Inc. All rights reserved
2121
dnl Copyright (c) 2015 Research Organization for Information Science
2222
dnl and Technology (RIST). All rights reserved.
23+
dnl Copyright (c) 2016 Mellanox Technologies, Inc.
24+
dnl All rights reserved.
25+
dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
2326
dnl
2427
dnl $COPYRIGHT$
2528
dnl
@@ -82,6 +85,34 @@ AC_DEFUN([PMIX_SETUP_CORE],[
8285
AC_SUBST(PMIX_RELEASE_DATE)
8386
AC_MSG_RESULT([$PMIX_VERSION])
8487

88+
# Save the breakdown the version information
89+
AC_MSG_CHECKING([for pmix major version])
90+
PMIX_MAJOR_VERSION="`$PMIX_top_srcdir/config/pmix_get_version.sh $PMIX_top_srcdir/VERSION --major`"
91+
if test "$?" != "0"; then
92+
AC_MSG_ERROR([Cannot continue])
93+
fi
94+
AC_SUBST(PMIX_MAJOR_VERSION)
95+
AC_DEFINE_UNQUOTED([PMIX_MAJOR_VERSION], ["$PMIX_MAJOR_VERSION"],
96+
[The library major version is always available, contrary to VERSION])
97+
98+
AC_MSG_CHECKING([for pmix minor version])
99+
PMIX_MINOR_VERSION="`$PMIX_top_srcdir/config/pmix_get_version.sh $PMIX_top_srcdir/VERSION --minor`"
100+
if test "$?" != "0"; then
101+
AC_MSG_ERROR([Cannot continue])
102+
fi
103+
AC_SUBST(PMIX_MINOR_VERSION)
104+
AC_DEFINE_UNQUOTED([PMIX_MINOR_VERSION], ["$PMIX_MINOR_VERSION"],
105+
[The library minor version is always available, contrary to VERSION])
106+
107+
AC_MSG_CHECKING([for pmix release version])
108+
PMIX_RELEASE_VERSION="`$PMIX_top_srcdir/config/pmix_get_version.sh $PMIX_top_srcdir/VERSION --release`"
109+
if test "$?" != "0"; then
110+
AC_MSG_ERROR([Cannot continue])
111+
fi
112+
AC_SUBST(PMIX_RELEASE_VERSION)
113+
AC_DEFINE_UNQUOTED([PMIX_RELEASE_VERSION], ["$PMIX_RELEASE_VERSION"],
114+
[The library release version is always available, contrary to VERSION])
115+
85116
# Debug mode?
86117
AC_MSG_CHECKING([if want pmix maintainer support])
87118
pmix_debug=
@@ -99,11 +130,6 @@ AC_DEFUN([PMIX_SETUP_CORE],[
99130
AC_MSG_CHECKING([for pmix directory prefix])
100131
AC_MSG_RESULT(m4_ifval([$1], pmix_config_prefix, [(none)]))
101132

102-
# Note that private/config.h *MUST* be listed first so that it
103-
# becomes the "main" config header file. Any AC-CONFIG-HEADERS
104-
# after that (pmix/config.h) will only have selective #defines
105-
# replaced, not the entire file.
106-
AC_CONFIG_HEADERS(pmix_config_prefix[include/private/autogen/config.h])
107133
AC_CONFIG_HEADERS(pmix_config_prefix[include/pmix/autogen/config.h])
108134

109135
# What prefix are we using?
@@ -430,7 +456,11 @@ AC_DEFUN([PMIX_SETUP_CORE],[
430456
#endif
431457
])
432458

433-
#
459+
AC_CHECK_MEMBERS([struct ucred.uid, struct ucred.cr_uid, struct sockpeercred.uid],
460+
[], [],
461+
[#include <sys/types.h>
462+
#include <sys/socket.h> ])
463+
434464
# Check for ptrdiff type. Yes, there are platforms where
435465
# sizeof(void*) != sizeof(long) (64 bit Windows, apparently).
436466
#
@@ -465,7 +495,7 @@ AC_DEFUN([PMIX_SETUP_CORE],[
465495
# Darwin doesn't need -lm, as it's a symlink to libSystem.dylib
466496
PMIX_SEARCH_LIBS_CORE([ceil], [m])
467497

468-
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf strsignal socketpair strncpy_s usleep])
498+
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf strsignal socketpair strncpy_s usleep getpeereid])
469499

470500
# On some hosts, htonl is a define, so the AC_CHECK_FUNC will get
471501
# confused. On others, it's in the standard library, but stubbed with
@@ -580,7 +610,7 @@ AC_DEFUN([PMIX_SETUP_CORE],[
580610
# rather than have successive assignments to these shell
581611
# variables, lest the $(foo) names try to get evaluated here.
582612
# Yuck!
583-
CPPFLAGS='-I$(PMIX_top_srcdir) -I$(PMIX_top_builddir) -I$(PMIX_top_srcdir)/src -I$(PMIX_top_srcdir)/include -I$(PMIX_top_builddir)/include'" $CPPFLAGS"
613+
CPPFLAGS='-I$(PMIX_top_builddir) -I$(PMIX_top_srcdir) -I$(PMIX_top_srcdir)/src -I$(PMIX_top_builddir)/include -I$(PMIX_top_srcdir)/include'" $CPPFLAGS"
584614
else
585615
CPPFLAGS='-I$(PMIX_top_srcdir) -I$(PMIX_top_srcdir)/src -I$(PMIX_top_srcdir)/include'" $CPPFLAGS"
586616
fi
@@ -608,12 +638,15 @@ AC_DEFUN([PMIX_SETUP_CORE],[
608638

609639
AC_DEFUN([PMIX_DEFINE_ARGS],[
610640
# Embedded mode, or standalone?
641+
AC_MSG_CHECKING([if embedded mode is enabled])
611642
AC_ARG_ENABLE([embedded-mode],
612643
[AC_HELP_STRING([--enable-embedded-mode],
613644
[Using --enable-embedded-mode causes PMIx to skip a few configure checks and install nothing. It should only be used when building PMIx within the scope of a larger package.])])
614645
AS_IF([test ! -z "$enable_embedded_mode" && test "$enable_embedded_mode" = "yes"],
615-
[pmix_mode=embedded],
616-
[pmix_mode=standalone])
646+
[pmix_mode=embedded
647+
AC_MSG_RESULT([yes])],
648+
[pmix_mode=standalone
649+
AC_MSG_RESULT([no])])
617650

618651
# Change the symbol prefix?
619652
AC_ARG_WITH([pmix-symbol-prefix],
@@ -685,6 +718,22 @@ AC_ARG_ENABLE(debug-symbols,
685718
AC_HELP_STRING([--disable-debug-symbols],
686719
[Disable adding compiler flags to enable debugging symbols if --enable-debug is specified. For non-debugging builds, this flag has no effect.]))
687720

721+
#
722+
# Do we want to install the internal devel headers?
723+
#
724+
AC_MSG_CHECKING([if want to install project-internal header files])
725+
AC_ARG_WITH(devel-headers,
726+
AC_HELP_STRING([--with-devel-headers],
727+
[normal PMIx users/applications do not need this (pmix.h and friends are ALWAYS installed). Developer headers are only necessary for authors doing deeper integration (default: disabled).]))
728+
if test "$with_devel_headers" = "yes"; then
729+
AC_MSG_RESULT([yes])
730+
WANT_INSTALL_HEADERS=1
731+
else
732+
AC_MSG_RESULT([no])
733+
WANT_INSTALL_HEADERS=0
734+
fi
735+
AM_CONDITIONAL(WANT_INSTALL_HEADERS, test "$WANT_INSTALL_HEADERS" = 1)
736+
688737
#
689738
# Do we want the pretty-print stack trace feature?
690739
#

opal/mca/pmix/pmix112/pmix/config/pmix_check_munge.m4

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- shell-script -*-
22
#
3-
# Copyright (c) 2015 Intel, Inc. All rights reserved
3+
# Copyright (c) 2015-2016 Intel, Inc. All rights reserved
44
# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
55
# $COPYRIGHT$
66
#
@@ -24,9 +24,9 @@ AC_DEFUN([PMIX_MUNGE_CONFIG],[
2424
[Search for munge libraries in DIR ])])
2525

2626
pmix_munge_support=0
27-
if test "$with_munge" != "no"; then
27+
if test ! -z "$with_munge" && test "$with_munge" != "no"; then
2828
AC_MSG_CHECKING([for munge in])
29-
if test ! -z "$with_munge" && test "$with_munge" != "yes"; then
29+
if test "$with_munge" != "yes"; then
3030
if test -d $with_munge/include/munge; then
3131
pmix_munge_dir=$with_munge/include/munge
3232
else
@@ -76,8 +76,8 @@ AC_DEFUN([PMIX_MUNGE_CONFIG],[
7676
AC_MSG_RESULT([yes])
7777
fi
7878

79-
AC_DEFINE_UNQUOTED([PMIX_HAVE_MUNGE], [$pmix_munge_support],
80-
[Whether we have munge support or not])
79+
AC_DEFINE_UNQUOTED([PMIX_WANT_MUNGE], [$pmix_munge_support],
80+
[Whether we want munge support or not])
8181

8282
PMIX_VAR_SCOPE_POP
8383
])dnl

opal/mca/pmix/pmix112/pmix/config/pmix_check_sasl.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ AC_DEFUN([PMIX_SASL_CONFIG],[
2727
[Search for sasl libraries in DIR ])])
2828

2929
pmix_sasl_support=0
30-
if test "$with_sasl" != "no"; then
30+
if test ! -z "$with_sasl" && test "$with_sasl" != "no"; then
3131
AC_MSG_CHECKING([for sasl in])
32-
if test ! -z "$with_sasl" && test "$with_sasl" != "yes"; then
32+
if test "$with_sasl" != "yes"; then
3333
pmix_sasl_dir=$with_sasl/include/sasl
3434
if test -d $with_sasl/lib; then
3535
pmix_sasl_libdir=$with_sasl/lib

opal/mca/pmix/pmix112/pmix/config/pmix_check_visibility.m4

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ AC_DEFUN([PMIX_CHECK_VISIBILITY],[
3030
AC_HELP_STRING([--enable-visibility],
3131
[enable visibility feature of certain compilers/linkers (default: enabled)]))
3232

33-
pmix_visibility_define=0
33+
WANT_VISIBILITY=0
3434
pmix_msg="whether to enable symbol visibility"
3535

3636
if test "$enable_visibility" = "no"; then
@@ -73,7 +73,8 @@ AC_DEFUN([PMIX_CHECK_VISIBILITY],[
7373
PMIX_VISIBILITY_CFLAGS=$pmix_add
7474

7575
if test "$pmix_add" != "" ; then
76-
pmix_visibility_define=1
76+
WANT_VISIBILITY=1
77+
CFLAGS="$CFLAGS $PMIX_VISIBILITY_CFLAGS"
7778
AC_MSG_CHECKING([$pmix_msg])
7879
AC_MSG_RESULT([yes (via $pmix_add)])
7980
elif test "$enable_visibility" = "yes"; then
@@ -85,6 +86,7 @@ AC_DEFUN([PMIX_CHECK_VISIBILITY],[
8586
unset pmix_add
8687
fi
8788

88-
AC_DEFINE_UNQUOTED([PMIX_C_HAVE_VISIBILITY], [$pmix_visibility_define],
89+
AC_DEFINE_UNQUOTED([PMIX_C_HAVE_VISIBILITY], [$WANT_VISIBILITY],
8990
[Whether C compiler supports symbol visibility or not])
91+
AM_CONDITIONAL([WANT_HIDDEN],[test "$WANT_VISIBILITY" = "1"])
9092
])

opal/mca/pmix/pmix112/pmix/configure.ac

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
# Copyright (c) 2013 Mellanox Technologies, Inc.
2121
# All rights reserved.
2222
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved
23+
# Copyright (c) 2016 IBM Corporation. All rights reserved.
2324
# $COPYRIGHT$
2425
#
2526
# Additional copyrights may follow
@@ -88,6 +89,7 @@ AH_TOP([/* -*- c -*-
8889
* Copyright (c) 2004-2005 The Regents of the University of California.
8990
* All rights reserved.
9091
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved
92+
* Copyright (c) 2016 IBM Corporation. All rights reserved.
9193
* $COPYRIGHT$
9294
*
9395
* Additional copyrights may follow
@@ -206,7 +208,8 @@ AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION'])
206208
. $srcdir/VERSION
207209
AC_SUBST([libpmix_so_version])
208210

209-
AC_CONFIG_FILES(pmix_config_prefix[test/Makefile]
211+
AC_CONFIG_FILES(pmix_config_prefix[examples/Makefile]
212+
pmix_config_prefix[test/Makefile]
210213
pmix_config_prefix[test/simple/Makefile])
211214

212215
pmix_show_title "Configuration complete"

0 commit comments

Comments
 (0)