Skip to content

Commit 1e9c71b

Browse files
authored
Merge branch 'open-mpi:main' into aarch64_build_update
2 parents 1268c51 + e8f7f7b commit 1e9c71b

File tree

560 files changed

+61333
-16689
lines changed

Some content is hidden

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

560 files changed

+61333
-16689
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ docs/_build
516516
docs/_static
517517
docs/_static/css/custom.css
518518
docs/_templates
519+
docs/man-openmpi/man3/bindings
519520

520521
# Common Python virtual environment and cache directory names
521522
venv

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,6 @@
99
[submodule "oac"]
1010
path = config/oac
1111
url = ../../open-mpi/oac
12+
[submodule "3rd-party/pympistandard"]
13+
path = 3rd-party/pympistandard
14+
url = ../../mpi-forum/pympistandard

.readthedocs-pre-create-environment.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,6 @@ PRRTE_RST_TARGET_DIR=docs/prrte-rst-content
2626

2727
cp -rp $SCHIZO_SRC_DIR $SCHIZO_TARGET_DIR
2828
cp -rp $PRRTE_RST_SRC_DIR $PRRTE_RST_TARGET_DIR
29+
30+
cd docs
31+
python3 ./generate-mpi-man3-bindings.py --srcdir . --builddir .

3rd-party/Makefile.am

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#
22
# Copyright (c) 2020 Amazon.com, Inc. or its affiliates.
33
# All Rights reserved.
4+
# Copyright (c) 2025 Jeffrey M. Squyres. All rights reserved.
45
# $COPYRIGHT$
56
#
67
# Additional copyrights may follow
@@ -16,7 +17,7 @@
1617

1718
SUBDIRS = $(OPAL_3RDPARTY_SUBDIRS)
1819
DIST_SUBDIRS = $(OPAL_3RDPARTY_DIST_SUBDIRS)
19-
EXTRA_DIST = $(OPAL_3RDPARTY_EXTRA_DIST) autogen.subdirs
20+
EXTRA_DIST = $(OPAL_3RDPARTY_EXTRA_DIST) autogen.subdirs pympistandard
2021

2122
distclean-local:
2223
rm -rf $(OPAL_3RDPARTY_DISTCLEAN_DIRS)
@@ -26,3 +27,12 @@ check:
2627

2728
check-recursive:
2829
@echo "auto-recursing into 3rd-party packages for check disabled"
30+
31+
# We recursively copied the pympystandard directory. As suggested by
32+
# the Automake docs (see section 14.3, "The dist Hook"), use the
33+
# dist-hook target to delete a bunch of extra stuff that we might have
34+
# copied.
35+
dist-hook:
36+
@find $(distdir)/pympistandard -name __pycache__ -exec rm -rf {} \; || :
37+
@find $(distdir)/pympistandard -name \*.pyc -exec rm -rf {} \; || :
38+
@rm -rf $(distdir)/pympistandard/.git

3rd-party/pympistandard

Submodule pympistandard added at 7bc6bb0

autogen.pl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
# Copyright (c) 2020 Amazon.com, Inc. or its affiliates.
1212
# All Rights reserved.
1313
#
14+
# Copyright (c) 2025 Nanook Consulting All rights reserved.
1415
# $COPYRIGHT$
1516
#
1617
# Additional copyrights may follow
@@ -81,12 +82,6 @@
8182

8283
# Patch program
8384
my $patch_prog = "patch";
84-
# Solaris "patch" doesn't understand unified diffs, and will cause
85-
# autogen.pl to hang with a "File to patch:" prompt. Default to Linux
86-
# "patch", but use "gpatch" on Solaris.
87-
if ($^O eq "solaris") {
88-
$patch_prog = "gpatch";
89-
}
9085

9186
$username = $ENV{USER} || getpwuid($>);
9287
$full_hostname = $ENV{HOSTNAME} || `hostname`;

config/ompi_setup_java.m4

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ dnl Copyright (c) 2013 Intel, Inc. All rights reserved.
1818
dnl Copyright (c) 2015-2018 Research Organization for Information Science
1919
dnl and Technology (RIST). All rights reserved.
2020
dnl Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
21+
dnl Copyright (c) 2025 Nanook Consulting All rights reserved.
2122
dnl $COPYRIGHT$
2223
dnl
2324
dnl Additional copyrights may follow
@@ -128,17 +129,6 @@ AC_DEFUN([_OMPI_SETUP_JAVA],[
128129
[AC_MSG_RESULT([not found])])])
129130
fi
130131

131-
if test "$ompi_java_found" = "0"; then
132-
# Solaris
133-
ompi_java_dir=/usr/java
134-
AC_MSG_CHECKING([for Java in Solaris locations])
135-
AS_IF([test -d $ompi_java_dir && test -r "$ompi_java_dir/include/jni.h"],
136-
[AC_MSG_RESULT([found ($ompi_java_dir)])
137-
with_jdk_headers=$ompi_java_dir/include
138-
with_jdk_bindir=$ompi_java_dir/bin
139-
ompi_java_found=1],
140-
[AC_MSG_RESULT([not found])])
141-
fi
142132
],
143133
[ompi_java_found=1])
144134

@@ -188,11 +178,6 @@ EOF
188178
# too. Ugh.
189179
AS_IF([test -d "$with_jdk_headers/linux"],
190180
[OMPI_JDK_CPPFLAGS="$OMPI_JDK_CPPFLAGS -I$with_jdk_headers/linux"])
191-
# Solaris JDK also require -I<blah>/solaris.
192-
# See if that's there, and if so, add a -I for that,
193-
# too. Ugh.
194-
AS_IF([test -d "$with_jdk_headers/solaris"],
195-
[OMPI_JDK_CPPFLAGS="$OMPI_JDK_CPPFLAGS -I$with_jdk_headers/solaris"])
196181
# Darwin JDK also require -I<blah>/darwin.
197182
# See if that's there, and if so, add a -I for that,
198183
# too. Ugh.

config/ompi_setup_prrte.m4

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ dnl Copyright (c) 2020-2022 Amazon.com, Inc. or its affiliates. All Rights rese
2020
dnl Copyright (c) 2021 Nanook Consulting. All rights reserved.
2121
dnl Copyright (c) 2021-2022 IBM Corporation. All rights reserved.
2222
dnl Copyright (c) 2023-2024 Jeffrey M. Squyres. All rights reserved.
23+
dnl Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
2324
dnl $COPYRIGHT$
2425
dnl
2526
dnl Additional copyrights may follow
@@ -85,7 +86,7 @@ OPAL_VAR_SCOPE_PUSH([prrte_setup_internal_happy prrte_setup_external_happy targe
8586
# unless internal specifically requested by the user, try to find
8687
# an external that works.
8788
prrte_setup_external_happy=0
88-
AS_IF([test "$opal_prrte_mode" != "internal" -o "$opal_prrte_mode" != "disabled"],
89+
AS_IF([test "$opal_prrte_mode" != "internal" -a "$opal_prrte_mode" != "disabled"],
8990
[_OMPI_SETUP_PRRTE_EXTERNAL(
9091
[prrte_setup_external_happy=1
9192
opal_prrte_mode="external"],

config/opal_check_os_flavors.m4

Lines changed: 0 additions & 69 deletions
This file was deleted.

configure.ac

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
# Copyright (c) 2019 Triad National Security, LLC. All rights
3030
# reserved.
3131
# Copyright (c) 2023 Jeffrey M. Squyres. All rights reserved.
32+
# Copyright (c) 2025 Nanook Consulting All rights reserved.
3233
# $COPYRIGHT$
3334
#
3435
# Additional copyrights may follow
@@ -995,7 +996,7 @@ AC_CACHE_SAVE
995996
opal_show_title "System-specific tests"
996997

997998
##################################
998-
OPAL_CHECK_OS_FLAVORS
999+
OAC_CHECK_OS_FLAVORS
9991000

10001001

10011002

docs/Makefile.am

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# Copyright (c) 2022 Cisco Systems, Inc. All rights reserved.
3-
# Copyright (c) 2023-2024 Jeffrey M. Squyres. All rights reserved.
3+
# Copyright (c) 2023-2025 Jeffrey M. Squyres. All rights reserved.
44
#
55
# $COPYRIGHT$
66
#
@@ -60,6 +60,8 @@ RST_SOURCE_FILES = \
6060
EXTRA_DIST = \
6161
requirements.txt \
6262
no-prrte-content.rst.txt \
63+
generate-mpi-man3-bindings.py \
64+
mpi-standard-apis.json \
6365
html \
6466
man \
6567
$(SPHINX_CONFIG) \
@@ -845,6 +847,10 @@ OMPI_MAN3_RST = $(OMPI_MAN3:%.3=man-openmpi/man3/%.3.rst)
845847
OMPI_MAN3_BUILT = $(OMPI_MAN3:%.3=$(MAN_OUTDIR)/%.3)
846848
OMPI_MAN3_INSTALL_FROM = $(OMPI_MAN3:%.3=$(MAN_INSTALL_FROM)/%.3)
847849

850+
# Use this one file as a sentinel for building all the Open MPI man
851+
# page API bindings files
852+
SENTINEL_OMPI_MAN3_BINDING = $(builddir)/man-openmpi/man3/bindings/mpi_init.rst
853+
848854
OMPI_MAN7_RST = $(OMPI_MAN7:%.7=man-openmpi/man7/%.7.rst)
849855
OMPI_MAN7_BUILT = $(OMPI_MAN7:%.7=$(MAN_OUTDIR)/%.7)
850856
OMPI_MAN7_INSTALL_FROM = $(OMPI_MAN7:%.7=$(MAN_INSTALL_FROM)/%.7)
@@ -923,7 +929,7 @@ man: $(ALL_MAN_BUILT)
923929
# Remove the copies of the built HTML and man pages to get back to a
924930
# clean git clone.
925931
maintainer-clean-local:
926-
rm -rf html man
932+
rm -rf html man man-openmpi/man3/bindings
927933

928934
# If we're doing a VPATH build, we may have "html" and "man"
929935
# directories in the build tree (e.g., if we did "make dist"). Remove
@@ -969,8 +975,8 @@ $(builddir)/schizo-ompi-rst-content:
969975
$(builddir)/prrte-rst-content:
970976
$(OMPI_V_MKDIR) if test ! -d "$@"; then mkdir "$@"; fi
971977

972-
# Get the schizo-ompi-rst-cli.rst file that we need. CAVEAT: we name
973-
# it ".in" so that Sphinx doesn't slurp it in via two different
978+
# Get the schizo-ompi-cli.rst file that we need. CAVEAT: we name it
979+
# ".rstxt" so that Sphinx doesn't slurp it in via two different
974980
# locations in the RST docroot (i.e., via
975981
# /schizo-ompi-rst-content/schizo-ompi-cli.rstxt and via
976982
# /man-openmpi/man1/mpirun.1.rst). Sphinx *shouldn't* do this -- it
@@ -1000,10 +1006,20 @@ $(builddir)/schizo-ompi-rst-content/schizo-ompi-cli.rstxt: $(srcdir)/no-prrte-co
10001006
cp -pf $(srcdir)/no-prrte-content.rst.txt "$@"
10011007
endif
10021008

1009+
$(builddir)/man-openmpi/man3/bindings:
1010+
$(OMPI_V_MKDIR) if test ! -d "$@"; then mkdir -p "$@"; fi
1011+
1012+
$(SENTINEL_OMPI_MAN3_BINDING): $(builddir)/man-openmpi/man3/bindings
1013+
$(SENTINEL_OMPI_MAN3_BINDING): generate-mpi-man3-bindings.py
1014+
$(SENTINEL_OMPI_MAN3_BINDING): mpi-standard-apis.json
1015+
$(OMPI_V_GEN) $(PYTHON3) $(srcdir)/generate-mpi-man3-bindings.py \
1016+
--srcdir $(srcdir) --builddir $(builddir)
1017+
10031018
$(ALL_MAN_BUILT): $(builddir)/prrte-rst-content
10041019
$(ALL_MAN_BUILT): $(builddir)/schizo-ompi-rst-content/schizo-ompi-cli.rstxt
10051020
$(ALL_MAN_BUILT): $(RST_SOURCE_FILES) $(IMAGE_SOURCE_FILES)
10061021
$(ALL_MAN_BUILT): $(TEXT_SOURCE_FILES) $(SPHINX_CONFIG)
1022+
$(ALL_MAN_BUILT): $(SENTINEL_OMPI_MAN3_BINDING)
10071023

10081024
# Render the RST source into both 1) full HTML docs and 2) nroff man
10091025
# pages.
@@ -1031,7 +1047,7 @@ $(ALL_MAN_BUILT): $(TEXT_SOURCE_FILES) $(SPHINX_CONFIG)
10311047
# not think of anything better to do.
10321048
#
10331049
# NOTE: This is a little gross in that for a VPATH build, we *always*
1034-
# copy from the source tree to the dest tree (if the target does not
1050+
# copy from the source tree to the build tree (if the target does not
10351051
# exist or any of the sources in the source tree -- thanks to
10361052
# make/VPATH handling -- have changed compared to the target).
10371053
# However, we're using "cp -p", so even though we're copying *all the
@@ -1041,6 +1057,7 @@ $(ALL_MAN_BUILT): $(TEXT_SOURCE_FILES) $(SPHINX_CONFIG)
10411057
# changed. We're going to overwrite any local changes in the build
10421058
# tree, but you shouldn't be editing the build tree, anyway. So --
10431059
# good enough.
1060+
10441061
$(ALL_MAN_BUILT):
10451062
$(OMPI_V_SPHINX_COPYRST) if test "$(srcdir)" != "$(builddir)"; then \
10461063
len=`echo "$(srcdir)/" | wc -c`; \

0 commit comments

Comments
 (0)