1
1

Fixes trac:1409: ensure that the C++, F77, and F90 bindings libraries

are properly linked against libmpi.la.

This required a little creative AM usage, inspired by discussion on
OMPI devel list:

 * Make a new ompi/mpi/f77/Makefile_f77base.include; effectively move
   the building of the f77 "base" glue stuff (libmpi_f77base.la) into
   this Makefile and away from ompi/mpi/f77/Makefile.am.  The sources
   in question require some specific CPPFLAGS, so we couldn't just add
   the raw sources into libmpi_la_SOURCES, unfortunately.
 * Include this new Makefile in the top-level ompi/Makefile.am
 * The libmpi_f77base.la LT convenience library was already sucked
   into libmpi.la; breaking it out into its own Makefile allows us
   to build it earlier and therefore complete buidling libmpi.la
   earlier.
 * Side effect: the ompi/mpi/Makefile.am is now mostly unnecessary; it
   no longer specifies a SUBDIRS for each of the bindings directories
   to traverse into (since they are now in the top-level SUBDIRS).  As
   such, the man pages are now also now included in the top-level
   ompi/Makefile.am.

The end of the result is that libmpi.la -- including a few sources
from mpi/f77 -- is fully built before the C++, F77, and F90 bindings
are built.  Therefore, the C++, F77, and F90 bindings libraries can
all link against libmpi.la.

This commit was SVN r19040.

The following Trac tickets were found above:
  Ticket 1409 --> https://svn.open-mpi.org/trac/ompi/ticket/1409
Этот коммит содержится в:
Jeff Squyres 2008-07-25 21:18:05 +00:00
родитель d5a916d350
Коммит 9f4d4c4312
7 изменённых файлов: 392 добавлений и 348 удалений

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

@ -9,6 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -39,15 +40,37 @@ else
f77_base_lib =
endif
# Note that the ordering of "." in SUBDIRS is important: the C++, F77,
# and F90 bindings are all in standalone .la files that depend on
# libmpi.la. So we must fully build libmpi.la first (which includes
# the C bindings and some "base" f77 glue functionality in mpi/f77).
# NOTE: A handful of files in mpi/f77 must be included in libmpi.la.
# But we wanted to keep all the Fortran sources together in the same
# directory, so we itemized those sources in a separate
# Makefile_f77base.include that is included in this Makefile.am. This
# included file makes a convenience LT library that is then sucked
# into libmpi.la (those sources must be compiled with special
# CPPFLAGS; we can't just add the raw sources to libmpi_la_SOURCES,
# unfortunately).
# The end of the result is that libmpi.la -- including a few sources
# from mpi/f77 -- is fully built before the C++, F77, and F90 bindings
# are built. Therefore, the C++, F77 and F90 bindings libraries can
# all link against libmpi.la.
SUBDIRS = \
include \
datatype \
debuggers \
etc \
mpi \
mpi/c \
$(MCA_ompi_FRAMEWORKS_SUBDIRS) \
$(MCA_ompi_FRAMEWORK_COMPONENT_STATIC_SUBDIRS) \
. \
mpi/cxx \
mpi/f77 \
mpi/f90 \
$(MCA_ompi_FRAMEWORK_COMPONENT_DSO_SUBDIRS) \
$(OMPI_CONTRIB_SUBDIRS)
@ -94,6 +117,7 @@ include_HEADERS =
nobase_ompi_HEADERS =
dist_pkgdata_DATA =
libmpi_la_SOURCES += $(headers)
man_MANS =
# Conditionally install the header files
@ -119,3 +143,6 @@ include request/Makefile.am
include runtime/Makefile.am
include win/Makefile.am
include tools/Makefile.am
include mpi/Makefile.am
include mpi/f77/Makefile_f77base.include
include mpi/man/man3/Makefile.extra

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

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -17,10 +17,4 @@
# $HEADER$
#
SUBDIRS = c cxx f77 f90
dist_pkgdata_DATA = help-mpi-api.txt
man_MANS =
include man/man3/Makefile.extra
EXTRA_DIST = $(man_MANS)
dist_pkgdata_DATA += mpi/help-mpi-api.txt

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

@ -10,7 +10,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2007-2008 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -42,6 +42,8 @@ libmpi_cxx_la_SOURCES += \
file.cc
endif
libmpi_cxx_la_LIBADD = $(top_builddir)/ompi/libmpi.la
headers = \
mpicxx.h \
constants.h \

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

@ -9,7 +9,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
@ -46,35 +46,18 @@ AM_CPPFLAGS = -DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1
#
lib_LTLIBRARIES =
libmpi_f77_la_LIBADD =
noinst_LTLIBRARIES =
libmpi_f77_la_LIBADD = $(top_builddir)/ompi/libmpi.la
# Are we building the F77 bindings at all?
if OMPI_WANT_F77_BINDINGS
# If yes, then we need to build the installable library and the glue
# convenience library that will be sucked up into the main libmpi.
lib_LTLIBRARIES += libmpi_f77.la
noinst_LTLIBRARIES += libmpi_f77_base.la
# Do we need to suck in the convenience library from the lower
# directory?
if WANT_PMPI_F77_BINDINGS_LAYER
libmpi_f77_la_LIBADD += profile/libmpi_f77_pmpi.la
else
# Is this else conditional really necessary? There *used* to be an AM
# bug that forced this; is it still there? (there is no harm in
# having this extra statement; I just don't know if it's *necessary*
# anymore)
libmpi_f77_la_LIBADD +=
endif
else
# No, we are not building the F77 bindings at all. Ditto on the
# comment above about whether we really need these statements or
# not...
lib_LTLIBRARIES +=
libmpi_f77_la_LIBADD +=
noinst_LTLIBRARIES +=
endif
headers = \
@ -85,17 +68,6 @@ headers = \
prototypes_mpi.h \
f77_strings.h
#
# libmpi_f77.la is always build because it contains some non-profilied
# functions.
#
libmpi_f77_base_la_SOURCES = \
attr_fn_f.c \
conversion_fn_null_f.c \
f90_accessors.c \
strings.c \
test_constants_f.c
#
# These files are only built and added to libmpi_f77.la in certain cases.
#

45
ompi/mpi/f77/Makefile_f77base.include Обычный файл
Просмотреть файл

@ -0,0 +1,45 @@
#
# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. 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 (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# This Makefile does not stand on its own; it is included in
# ompi/mpi/Makefile.am to satisfy a complicated set of ordering issues
# when building the Fortran code. This stub Makefile only builds a
# small number of files in the f77 directory so that they can be
# included in the main libmpi. See comments in that Makefile.am for
# details.
# If we're building the F77 bindings, then we need to build the
# Fortran 77 glue into libmpi
if OMPI_WANT_F77_BINDINGS
noinst_LTLIBRARIES += mpi/f77/libmpi_f77_base.la
endif
# This needs to be its own convenience library because it requires
# some specialized CPPFLAGS to set all the defines in various .h files
# properly (copied from ompi/mpi/f77/Makefile.am) -- we unfortunately
# can't just suck the sources into the larger libmpi.la.
mpi_f77_libmpi_f77_base_la_CPPFLAGS = \
-DOMPI_PROFILE_LAYER=0 -DOMPI_COMPILING_F77_WRAPPERS=1
mpi_f77_libmpi_f77_base_la_SOURCES = \
mpi/f77/attr_fn_f.c \
mpi/f77/conversion_fn_null_f.c \
mpi/f77/f90_accessors.c \
mpi/f77/strings.c \
mpi/f77/test_constants_f.c

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

@ -10,7 +10,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2007 Los Alamos National Security, LLC. All rights
# reserved.
# $COPYRIGHT$
@ -142,6 +142,7 @@ libmpi_f90_la_SOURCES = \
attr_fn-f90-interfaces.h \
conversion_fn_null-f90-interface.h \
mpi.f90
libmpi_f90_la_LIBADD = $(top_builddir)/ompi/libmpi.la
# These files are all generated by scripts in the scripts/ directory.

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

@ -7,310 +7,313 @@
# $HEADER$
#
man_MANS += \
man/man3/MPI.3 \
man/man3/MPI_Abort.3 \
man/man3/MPI_Accumulate.3 \
man/man3/MPI_Add_error_class.3 \
man/man3/MPI_Add_error_code.3 \
man/man3/MPI_Add_error_string.3 \
man/man3/MPI_Address.3 \
man/man3/MPI_Allgather.3 \
man/man3/MPI_Allgatherv.3 \
man/man3/MPI_Alloc_mem.3 \
man/man3/MPI_Allreduce.3 \
man/man3/MPI_Alltoall.3 \
man/man3/MPI_Alltoallv.3 \
man/man3/MPI_Alltoallw.3 \
man/man3/MPI_Attr_delete.3 \
man/man3/MPI_Attr_get.3 \
man/man3/MPI_Attr_put.3 \
man/man3/MPI_Barrier.3 \
man/man3/MPI_Bcast.3 \
man/man3/MPI_Bsend.3 \
man/man3/MPI_Bsend_init.3 \
man/man3/MPI_Buffer_attach.3 \
man/man3/MPI_Buffer_detach.3 \
man/man3/MPI_Cancel.3 \
man/man3/MPI_Cart_coords.3 \
man/man3/MPI_Cart_create.3 \
man/man3/MPI_Cartdim_get.3 \
man/man3/MPI_Cart_get.3 \
man/man3/MPI_Cart_map.3 \
man/man3/MPI_Cart_rank.3 \
man/man3/MPI_Cart_shift.3 \
man/man3/MPI_Cart_sub.3 \
man/man3/MPI_Close_port.3 \
man/man3/MPI_Comm_accept.3 \
man/man3/MPI_Comm_c2f.3 \
man/man3/MPI_Comm_call_errhandler.3 \
man/man3/MPI_Comm_compare.3 \
man/man3/MPI_Comm_connect.3 \
man/man3/MPI_Comm_create.3 \
man/man3/MPI_Comm_create_errhandler.3 \
man/man3/MPI_Comm_create_keyval.3 \
man/man3/MPI_Comm_delete_attr.3 \
man/man3/MPI_Comm_disconnect.3 \
man/man3/MPI_Comm_dup.3 \
man/man3/MPI_Comm_f2c.3 \
man/man3/MPI_Comm_free.3 \
man/man3/MPI_Comm_free_keyval.3 \
man/man3/MPI_Comm_get_attr.3 \
man/man3/MPI_Comm_get_errhandler.3 \
man/man3/MPI_Comm_get_name.3 \
man/man3/MPI_Comm_get_parent.3 \
man/man3/MPI_Comm_group.3 \
man/man3/MPI_Comm_join.3 \
man/man3/MPI_Comm_rank.3 \
man/man3/MPI_Comm_remote_group.3 \
man/man3/MPI_Comm_remote_size.3 \
man/man3/MPI_Comm_set_attr.3 \
man/man3/MPI_Comm_set_errhandler.3 \
man/man3/MPI_Comm_set_name.3 \
man/man3/MPI_Comm_size.3 \
man/man3/MPI_Comm_spawn.3 \
man/man3/MPI_Comm_spawn_multiple.3 \
man/man3/MPI_Comm_split.3 \
man/man3/MPI_Comm_test_inter.3 \
man/man3/MPI_Dims_create.3 \
man/man3/MPI_Errhandler_create.3 \
man/man3/MPI_Errhandler_free.3 \
man/man3/MPI_Errhandler_get.3 \
man/man3/MPI_Errhandler_set.3 \
man/man3/MPI_Error_class.3 \
man/man3/MPI_Error_string.3 \
man/man3/MPI_Exscan.3 \
man/man3/MPI_File_c2f.3 \
man/man3/MPI_File_call_errhandler.3 \
man/man3/MPI_File_close.3 \
man/man3/MPI_File_create_errhandler.3 \
man/man3/MPI_File_delete.3 \
man/man3/MPI_File_f2c.3 \
man/man3/MPI_File_get_amode.3 \
man/man3/MPI_File_get_atomicity.3 \
man/man3/MPI_File_get_byte_offset.3 \
man/man3/MPI_File_get_errhandler.3 \
man/man3/MPI_File_get_group.3 \
man/man3/MPI_File_get_info.3 \
man/man3/MPI_File_get_position.3 \
man/man3/MPI_File_get_position_shared.3 \
man/man3/MPI_File_get_size.3 \
man/man3/MPI_File_get_type_extent.3 \
man/man3/MPI_File_get_view.3 \
man/man3/MPI_File_iread.3 \
man/man3/MPI_File_iread_at.3 \
man/man3/MPI_File_iread_shared.3 \
man/man3/MPI_File_iwrite.3 \
man/man3/MPI_File_iwrite_at.3 \
man/man3/MPI_File_iwrite_shared.3 \
man/man3/MPI_File_open.3 \
man/man3/MPI_File_preallocate.3 \
man/man3/MPI_File_read.3 \
man/man3/MPI_File_read_all.3 \
man/man3/MPI_File_read_all_begin.3 \
man/man3/MPI_File_read_all_end.3 \
man/man3/MPI_File_read_at.3 \
man/man3/MPI_File_read_at_all.3 \
man/man3/MPI_File_read_at_all_begin.3 \
man/man3/MPI_File_read_at_all_end.3 \
man/man3/MPI_File_read_ordered.3 \
man/man3/MPI_File_read_ordered_begin.3 \
man/man3/MPI_File_read_ordered_end.3 \
man/man3/MPI_File_read_shared.3 \
man/man3/MPI_File_seek.3 \
man/man3/MPI_File_seek_shared.3 \
man/man3/MPI_File_set_atomicity.3 \
man/man3/MPI_File_set_errhandler.3 \
man/man3/MPI_File_set_info.3 \
man/man3/MPI_File_set_size.3 \
man/man3/MPI_File_set_view.3 \
man/man3/MPI_File_sync.3 \
man/man3/MPI_File_write.3 \
man/man3/MPI_File_write_all.3 \
man/man3/MPI_File_write_all_begin.3 \
man/man3/MPI_File_write_all_end.3 \
man/man3/MPI_File_write_at.3 \
man/man3/MPI_File_write_at_all.3 \
man/man3/MPI_File_write_at_all_begin.3 \
man/man3/MPI_File_write_at_all_end.3 \
man/man3/MPI_File_write_ordered.3 \
man/man3/MPI_File_write_ordered_begin.3 \
man/man3/MPI_File_write_ordered_end.3 \
man/man3/MPI_File_write_shared.3 \
man/man3/MPI_Finalize.3 \
man/man3/MPI_Finalized.3 \
man/man3/MPI_Free_mem.3 \
man/man3/MPI_Gather.3 \
man/man3/MPI_Gatherv.3 \
man/man3/MPI_Get.3 \
man/man3/MPI_Get_address.3 \
man/man3/MPI_Get_count.3 \
man/man3/MPI_Get_elements.3 \
man/man3/MPI_Get_processor_name.3 \
man/man3/MPI_Get_version.3 \
man/man3/MPI_Graph_create.3 \
man/man3/MPI_Graphdims_get.3 \
man/man3/MPI_Graph_get.3 \
man/man3/MPI_Graph_map.3 \
man/man3/MPI_Graph_neighbors.3 \
man/man3/MPI_Graph_neighbors_count.3 \
man/man3/MPI_Grequest_complete.3 \
man/man3/MPI_Grequest_start.3 \
man/man3/MPI_Group_c2f.3 \
man/man3/MPI_Group_compare.3 \
man/man3/MPI_Group_difference.3 \
man/man3/MPI_Group_excl.3 \
man/man3/MPI_Group_f2c.3 \
man/man3/MPI_Group_free.3 \
man/man3/MPI_Group_incl.3 \
man/man3/MPI_Group_intersection.3 \
man/man3/MPI_Group_range_excl.3 \
man/man3/MPI_Group_range_incl.3 \
man/man3/MPI_Group_rank.3 \
man/man3/MPI_Group_size.3 \
man/man3/MPI_Group_translate_ranks.3 \
man/man3/MPI_Group_union.3 \
man/man3/MPI_Ibsend.3 \
man/man3/MPI_Info_c2f.3 \
man/man3/MPI_Info_create.3 \
man/man3/MPI_Info_delete.3 \
man/man3/MPI_Info_dup.3 \
man/man3/MPI_Info_f2c.3 \
man/man3/MPI_Info_free.3 \
man/man3/MPI_Info_get.3 \
man/man3/MPI_Info_get_nkeys.3 \
man/man3/MPI_Info_get_nthkey.3 \
man/man3/MPI_Info_get_valuelen.3 \
man/man3/MPI_Info_set.3 \
man/man3/MPI_Init.3 \
man/man3/MPI_Initialized.3 \
man/man3/MPI_Init_thread.3 \
man/man3/MPI_Intercomm_create.3 \
man/man3/MPI_Intercomm_merge.3 \
man/man3/MPI_Iprobe.3 \
man/man3/MPI_Irecv.3 \
man/man3/MPI_Irsend.3 \
man/man3/MPI_Isend.3 \
man/man3/MPI_Issend.3 \
man/man3/MPI_Is_thread_main.3 \
man/man3/MPI_Keyval_create.3 \
man/man3/MPI_Keyval_free.3 \
man/man3/MPI_Lookup_name.3 \
man/man3/MPI_Op_c2f.3 \
man/man3/MPI_Op_create.3 \
man/man3/MPI_Open_port.3 \
man/man3/MPI_Op_f2c.3 \
man/man3/MPI_Op_free.3 \
man/man3/MPI_Pack.3 \
man/man3/MPI_Pack_external.3 \
man/man3/MPI_Pack_external_size.3 \
man/man3/MPI_Pack_size.3 \
man/man3/MPI_Pcontrol.3 \
man/man3/MPI_Probe.3 \
man/man3/MPI_Publish_name.3 \
man/man3/MPI_Put.3 \
man/man3/MPI_Query_thread.3 \
man/man3/MPI_Recv.3 \
man/man3/MPI_Recv_init.3 \
man/man3/MPI_Reduce.3 \
man/man3/MPI_Reduce_scatter.3 \
man/man3/MPI_Register_datarep.3 \
man/man3/MPI_Request_c2f.3 \
man/man3/MPI_Request_f2c.3 \
man/man3/MPI_Request_free.3 \
man/man3/MPI_Request_get_status.3 \
man/man3/MPI_Rsend.3 \
man/man3/MPI_Rsend_init.3 \
man/man3/MPI_Scan.3 \
man/man3/MPI_Scatter.3 \
man/man3/MPI_Scatterv.3 \
man/man3/MPI_Send.3 \
man/man3/MPI_Send_init.3 \
man/man3/MPI_Sendrecv.3 \
man/man3/MPI_Sendrecv_replace.3 \
man/man3/MPI_Sizeof.3 \
man/man3/MPI_Ssend.3 \
man/man3/MPI_Ssend_init.3 \
man/man3/MPI_Start.3 \
man/man3/MPI_Startall.3 \
man/man3/MPI_Status_c2f.3 \
man/man3/MPI_Status_f2c.3 \
man/man3/MPI_Status_set_cancelled.3 \
man/man3/MPI_Status_set_elements.3 \
man/man3/MPI_Test.3 \
man/man3/MPI_Testall.3 \
man/man3/MPI_Testany.3 \
man/man3/MPI_Test_cancelled.3 \
man/man3/MPI_Testsome.3 \
man/man3/MPI_Topo_test.3 \
man/man3/MPI_Type_c2f.3 \
man/man3/MPI_Type_commit.3 \
man/man3/MPI_Type_contiguous.3 \
man/man3/MPI_Type_create_darray.3 \
man/man3/MPI_Type_create_f90_complex.3 \
man/man3/MPI_Type_create_f90_integer.3 \
man/man3/MPI_Type_create_f90_real.3 \
man/man3/MPI_Type_create_hindexed.3 \
man/man3/MPI_Type_create_hvector.3 \
man/man3/MPI_Type_create_indexed_block.3 \
man/man3/MPI_Type_create_keyval.3 \
man/man3/MPI_Type_create_resized.3 \
man/man3/MPI_Type_create_struct.3 \
man/man3/MPI_Type_create_subarray.3 \
man/man3/MPI_Type_delete_attr.3 \
man/man3/MPI_Type_dup.3 \
man/man3/MPI_Type_extent.3 \
man/man3/MPI_Type_f2c.3 \
man/man3/MPI_Type_free.3 \
man/man3/MPI_Type_free_keyval.3 \
man/man3/MPI_Type_get_attr.3 \
man/man3/MPI_Type_get_contents.3 \
man/man3/MPI_Type_get_envelope.3 \
man/man3/MPI_Type_get_extent.3 \
man/man3/MPI_Type_get_name.3 \
man/man3/MPI_Type_get_true_extent.3 \
man/man3/MPI_Type_hindexed.3 \
man/man3/MPI_Type_hvector.3 \
man/man3/MPI_Type_indexed.3 \
man/man3/MPI_Type_lb.3 \
man/man3/MPI_Type_match_size.3 \
man/man3/MPI_Type_set_attr.3 \
man/man3/MPI_Type_set_name.3 \
man/man3/MPI_Type_size.3 \
man/man3/MPI_Type_struct.3 \
man/man3/MPI_Type_ub.3 \
man/man3/MPI_Type_vector.3 \
man/man3/MPI_Unpack.3 \
man/man3/MPI_Unpack_external.3 \
man/man3/MPI_Unpublish_name.3 \
man/man3/MPI_Wait.3 \
man/man3/MPI_Waitall.3 \
man/man3/MPI_Waitany.3 \
man/man3/MPI_Waitsome.3 \
man/man3/MPI_Win_c2f.3 \
man/man3/MPI_Win_call_errhandler.3 \
man/man3/MPI_Win_complete.3 \
man/man3/MPI_Win_create.3 \
man/man3/MPI_Win_create_errhandler.3 \
man/man3/MPI_Win_create_keyval.3 \
man/man3/MPI_Win_delete_attr.3 \
man/man3/MPI_Win_f2c.3 \
man/man3/MPI_Win_fence.3 \
man/man3/MPI_Win_free.3 \
man/man3/MPI_Win_free_keyval.3 \
man/man3/MPI_Win_get_attr.3 \
man/man3/MPI_Win_get_errhandler.3 \
man/man3/MPI_Win_get_group.3 \
man/man3/MPI_Win_get_name.3 \
man/man3/MPI_Win_lock.3 \
man/man3/MPI_Win_post.3 \
man/man3/MPI_Win_set_attr.3 \
man/man3/MPI_Win_set_errhandler.3 \
man/man3/MPI_Win_set_name.3 \
man/man3/MPI_Win_start.3 \
man/man3/MPI_Win_test.3 \
man/man3/MPI_Win_unlock.3 \
man/man3/MPI_Win_wait.3 \
man/man3/MPI_Wtick.3 \
man/man3/MPI_Wtime.3 \
man/man3/OpenMPI.3
mpi_api_man_pages = \
mpi/man/man3/MPI.3 \
mpi/man/man3/MPI_Abort.3 \
mpi/man/man3/MPI_Accumulate.3 \
mpi/man/man3/MPI_Add_error_class.3 \
mpi/man/man3/MPI_Add_error_code.3 \
mpi/man/man3/MPI_Add_error_string.3 \
mpi/man/man3/MPI_Address.3 \
mpi/man/man3/MPI_Allgather.3 \
mpi/man/man3/MPI_Allgatherv.3 \
mpi/man/man3/MPI_Alloc_mem.3 \
mpi/man/man3/MPI_Allreduce.3 \
mpi/man/man3/MPI_Alltoall.3 \
mpi/man/man3/MPI_Alltoallv.3 \
mpi/man/man3/MPI_Alltoallw.3 \
mpi/man/man3/MPI_Attr_delete.3 \
mpi/man/man3/MPI_Attr_get.3 \
mpi/man/man3/MPI_Attr_put.3 \
mpi/man/man3/MPI_Barrier.3 \
mpi/man/man3/MPI_Bcast.3 \
mpi/man/man3/MPI_Bsend.3 \
mpi/man/man3/MPI_Bsend_init.3 \
mpi/man/man3/MPI_Buffer_attach.3 \
mpi/man/man3/MPI_Buffer_detach.3 \
mpi/man/man3/MPI_Cancel.3 \
mpi/man/man3/MPI_Cart_coords.3 \
mpi/man/man3/MPI_Cart_create.3 \
mpi/man/man3/MPI_Cartdim_get.3 \
mpi/man/man3/MPI_Cart_get.3 \
mpi/man/man3/MPI_Cart_map.3 \
mpi/man/man3/MPI_Cart_rank.3 \
mpi/man/man3/MPI_Cart_shift.3 \
mpi/man/man3/MPI_Cart_sub.3 \
mpi/man/man3/MPI_Close_port.3 \
mpi/man/man3/MPI_Comm_accept.3 \
mpi/man/man3/MPI_Comm_c2f.3 \
mpi/man/man3/MPI_Comm_call_errhandler.3 \
mpi/man/man3/MPI_Comm_compare.3 \
mpi/man/man3/MPI_Comm_connect.3 \
mpi/man/man3/MPI_Comm_create.3 \
mpi/man/man3/MPI_Comm_create_errhandler.3 \
mpi/man/man3/MPI_Comm_create_keyval.3 \
mpi/man/man3/MPI_Comm_delete_attr.3 \
mpi/man/man3/MPI_Comm_disconnect.3 \
mpi/man/man3/MPI_Comm_dup.3 \
mpi/man/man3/MPI_Comm_f2c.3 \
mpi/man/man3/MPI_Comm_free.3 \
mpi/man/man3/MPI_Comm_free_keyval.3 \
mpi/man/man3/MPI_Comm_get_attr.3 \
mpi/man/man3/MPI_Comm_get_errhandler.3 \
mpi/man/man3/MPI_Comm_get_name.3 \
mpi/man/man3/MPI_Comm_get_parent.3 \
mpi/man/man3/MPI_Comm_group.3 \
mpi/man/man3/MPI_Comm_join.3 \
mpi/man/man3/MPI_Comm_rank.3 \
mpi/man/man3/MPI_Comm_remote_group.3 \
mpi/man/man3/MPI_Comm_remote_size.3 \
mpi/man/man3/MPI_Comm_set_attr.3 \
mpi/man/man3/MPI_Comm_set_errhandler.3 \
mpi/man/man3/MPI_Comm_set_name.3 \
mpi/man/man3/MPI_Comm_size.3 \
mpi/man/man3/MPI_Comm_spawn.3 \
mpi/man/man3/MPI_Comm_spawn_multiple.3 \
mpi/man/man3/MPI_Comm_split.3 \
mpi/man/man3/MPI_Comm_test_inter.3 \
mpi/man/man3/MPI_Dims_create.3 \
mpi/man/man3/MPI_Errhandler_create.3 \
mpi/man/man3/MPI_Errhandler_free.3 \
mpi/man/man3/MPI_Errhandler_get.3 \
mpi/man/man3/MPI_Errhandler_set.3 \
mpi/man/man3/MPI_Error_class.3 \
mpi/man/man3/MPI_Error_string.3 \
mpi/man/man3/MPI_Exscan.3 \
mpi/man/man3/MPI_File_c2f.3 \
mpi/man/man3/MPI_File_call_errhandler.3 \
mpi/man/man3/MPI_File_close.3 \
mpi/man/man3/MPI_File_create_errhandler.3 \
mpi/man/man3/MPI_File_delete.3 \
mpi/man/man3/MPI_File_f2c.3 \
mpi/man/man3/MPI_File_get_amode.3 \
mpi/man/man3/MPI_File_get_atomicity.3 \
mpi/man/man3/MPI_File_get_byte_offset.3 \
mpi/man/man3/MPI_File_get_errhandler.3 \
mpi/man/man3/MPI_File_get_group.3 \
mpi/man/man3/MPI_File_get_info.3 \
mpi/man/man3/MPI_File_get_position.3 \
mpi/man/man3/MPI_File_get_position_shared.3 \
mpi/man/man3/MPI_File_get_size.3 \
mpi/man/man3/MPI_File_get_type_extent.3 \
mpi/man/man3/MPI_File_get_view.3 \
mpi/man/man3/MPI_File_iread.3 \
mpi/man/man3/MPI_File_iread_at.3 \
mpi/man/man3/MPI_File_iread_shared.3 \
mpi/man/man3/MPI_File_iwrite.3 \
mpi/man/man3/MPI_File_iwrite_at.3 \
mpi/man/man3/MPI_File_iwrite_shared.3 \
mpi/man/man3/MPI_File_open.3 \
mpi/man/man3/MPI_File_preallocate.3 \
mpi/man/man3/MPI_File_read.3 \
mpi/man/man3/MPI_File_read_all.3 \
mpi/man/man3/MPI_File_read_all_begin.3 \
mpi/man/man3/MPI_File_read_all_end.3 \
mpi/man/man3/MPI_File_read_at.3 \
mpi/man/man3/MPI_File_read_at_all.3 \
mpi/man/man3/MPI_File_read_at_all_begin.3 \
mpi/man/man3/MPI_File_read_at_all_end.3 \
mpi/man/man3/MPI_File_read_ordered.3 \
mpi/man/man3/MPI_File_read_ordered_begin.3 \
mpi/man/man3/MPI_File_read_ordered_end.3 \
mpi/man/man3/MPI_File_read_shared.3 \
mpi/man/man3/MPI_File_seek.3 \
mpi/man/man3/MPI_File_seek_shared.3 \
mpi/man/man3/MPI_File_set_atomicity.3 \
mpi/man/man3/MPI_File_set_errhandler.3 \
mpi/man/man3/MPI_File_set_info.3 \
mpi/man/man3/MPI_File_set_size.3 \
mpi/man/man3/MPI_File_set_view.3 \
mpi/man/man3/MPI_File_sync.3 \
mpi/man/man3/MPI_File_write.3 \
mpi/man/man3/MPI_File_write_all.3 \
mpi/man/man3/MPI_File_write_all_begin.3 \
mpi/man/man3/MPI_File_write_all_end.3 \
mpi/man/man3/MPI_File_write_at.3 \
mpi/man/man3/MPI_File_write_at_all.3 \
mpi/man/man3/MPI_File_write_at_all_begin.3 \
mpi/man/man3/MPI_File_write_at_all_end.3 \
mpi/man/man3/MPI_File_write_ordered.3 \
mpi/man/man3/MPI_File_write_ordered_begin.3 \
mpi/man/man3/MPI_File_write_ordered_end.3 \
mpi/man/man3/MPI_File_write_shared.3 \
mpi/man/man3/MPI_Finalize.3 \
mpi/man/man3/MPI_Finalized.3 \
mpi/man/man3/MPI_Free_mem.3 \
mpi/man/man3/MPI_Gather.3 \
mpi/man/man3/MPI_Gatherv.3 \
mpi/man/man3/MPI_Get.3 \
mpi/man/man3/MPI_Get_address.3 \
mpi/man/man3/MPI_Get_count.3 \
mpi/man/man3/MPI_Get_elements.3 \
mpi/man/man3/MPI_Get_processor_name.3 \
mpi/man/man3/MPI_Get_version.3 \
mpi/man/man3/MPI_Graph_create.3 \
mpi/man/man3/MPI_Graphdims_get.3 \
mpi/man/man3/MPI_Graph_get.3 \
mpi/man/man3/MPI_Graph_map.3 \
mpi/man/man3/MPI_Graph_neighbors.3 \
mpi/man/man3/MPI_Graph_neighbors_count.3 \
mpi/man/man3/MPI_Grequest_complete.3 \
mpi/man/man3/MPI_Grequest_start.3 \
mpi/man/man3/MPI_Group_c2f.3 \
mpi/man/man3/MPI_Group_compare.3 \
mpi/man/man3/MPI_Group_difference.3 \
mpi/man/man3/MPI_Group_excl.3 \
mpi/man/man3/MPI_Group_f2c.3 \
mpi/man/man3/MPI_Group_free.3 \
mpi/man/man3/MPI_Group_incl.3 \
mpi/man/man3/MPI_Group_intersection.3 \
mpi/man/man3/MPI_Group_range_excl.3 \
mpi/man/man3/MPI_Group_range_incl.3 \
mpi/man/man3/MPI_Group_rank.3 \
mpi/man/man3/MPI_Group_size.3 \
mpi/man/man3/MPI_Group_translate_ranks.3 \
mpi/man/man3/MPI_Group_union.3 \
mpi/man/man3/MPI_Ibsend.3 \
mpi/man/man3/MPI_Info_c2f.3 \
mpi/man/man3/MPI_Info_create.3 \
mpi/man/man3/MPI_Info_delete.3 \
mpi/man/man3/MPI_Info_dup.3 \
mpi/man/man3/MPI_Info_f2c.3 \
mpi/man/man3/MPI_Info_free.3 \
mpi/man/man3/MPI_Info_get.3 \
mpi/man/man3/MPI_Info_get_nkeys.3 \
mpi/man/man3/MPI_Info_get_nthkey.3 \
mpi/man/man3/MPI_Info_get_valuelen.3 \
mpi/man/man3/MPI_Info_set.3 \
mpi/man/man3/MPI_Init.3 \
mpi/man/man3/MPI_Initialized.3 \
mpi/man/man3/MPI_Init_thread.3 \
mpi/man/man3/MPI_Intercomm_create.3 \
mpi/man/man3/MPI_Intercomm_merge.3 \
mpi/man/man3/MPI_Iprobe.3 \
mpi/man/man3/MPI_Irecv.3 \
mpi/man/man3/MPI_Irsend.3 \
mpi/man/man3/MPI_Isend.3 \
mpi/man/man3/MPI_Issend.3 \
mpi/man/man3/MPI_Is_thread_main.3 \
mpi/man/man3/MPI_Keyval_create.3 \
mpi/man/man3/MPI_Keyval_free.3 \
mpi/man/man3/MPI_Lookup_name.3 \
mpi/man/man3/MPI_Op_c2f.3 \
mpi/man/man3/MPI_Op_create.3 \
mpi/man/man3/MPI_Open_port.3 \
mpi/man/man3/MPI_Op_f2c.3 \
mpi/man/man3/MPI_Op_free.3 \
mpi/man/man3/MPI_Pack.3 \
mpi/man/man3/MPI_Pack_external.3 \
mpi/man/man3/MPI_Pack_external_size.3 \
mpi/man/man3/MPI_Pack_size.3 \
mpi/man/man3/MPI_Pcontrol.3 \
mpi/man/man3/MPI_Probe.3 \
mpi/man/man3/MPI_Publish_name.3 \
mpi/man/man3/MPI_Put.3 \
mpi/man/man3/MPI_Query_thread.3 \
mpi/man/man3/MPI_Recv.3 \
mpi/man/man3/MPI_Recv_init.3 \
mpi/man/man3/MPI_Reduce.3 \
mpi/man/man3/MPI_Reduce_scatter.3 \
mpi/man/man3/MPI_Register_datarep.3 \
mpi/man/man3/MPI_Request_c2f.3 \
mpi/man/man3/MPI_Request_f2c.3 \
mpi/man/man3/MPI_Request_free.3 \
mpi/man/man3/MPI_Request_get_status.3 \
mpi/man/man3/MPI_Rsend.3 \
mpi/man/man3/MPI_Rsend_init.3 \
mpi/man/man3/MPI_Scan.3 \
mpi/man/man3/MPI_Scatter.3 \
mpi/man/man3/MPI_Scatterv.3 \
mpi/man/man3/MPI_Send.3 \
mpi/man/man3/MPI_Send_init.3 \
mpi/man/man3/MPI_Sendrecv.3 \
mpi/man/man3/MPI_Sendrecv_replace.3 \
mpi/man/man3/MPI_Sizeof.3 \
mpi/man/man3/MPI_Ssend.3 \
mpi/man/man3/MPI_Ssend_init.3 \
mpi/man/man3/MPI_Start.3 \
mpi/man/man3/MPI_Startall.3 \
mpi/man/man3/MPI_Status_c2f.3 \
mpi/man/man3/MPI_Status_f2c.3 \
mpi/man/man3/MPI_Status_set_cancelled.3 \
mpi/man/man3/MPI_Status_set_elements.3 \
mpi/man/man3/MPI_Test.3 \
mpi/man/man3/MPI_Testall.3 \
mpi/man/man3/MPI_Testany.3 \
mpi/man/man3/MPI_Test_cancelled.3 \
mpi/man/man3/MPI_Testsome.3 \
mpi/man/man3/MPI_Topo_test.3 \
mpi/man/man3/MPI_Type_c2f.3 \
mpi/man/man3/MPI_Type_commit.3 \
mpi/man/man3/MPI_Type_contiguous.3 \
mpi/man/man3/MPI_Type_create_darray.3 \
mpi/man/man3/MPI_Type_create_f90_complex.3 \
mpi/man/man3/MPI_Type_create_f90_integer.3 \
mpi/man/man3/MPI_Type_create_f90_real.3 \
mpi/man/man3/MPI_Type_create_hindexed.3 \
mpi/man/man3/MPI_Type_create_hvector.3 \
mpi/man/man3/MPI_Type_create_indexed_block.3 \
mpi/man/man3/MPI_Type_create_keyval.3 \
mpi/man/man3/MPI_Type_create_resized.3 \
mpi/man/man3/MPI_Type_create_struct.3 \
mpi/man/man3/MPI_Type_create_subarray.3 \
mpi/man/man3/MPI_Type_delete_attr.3 \
mpi/man/man3/MPI_Type_dup.3 \
mpi/man/man3/MPI_Type_extent.3 \
mpi/man/man3/MPI_Type_f2c.3 \
mpi/man/man3/MPI_Type_free.3 \
mpi/man/man3/MPI_Type_free_keyval.3 \
mpi/man/man3/MPI_Type_get_attr.3 \
mpi/man/man3/MPI_Type_get_contents.3 \
mpi/man/man3/MPI_Type_get_envelope.3 \
mpi/man/man3/MPI_Type_get_extent.3 \
mpi/man/man3/MPI_Type_get_name.3 \
mpi/man/man3/MPI_Type_get_true_extent.3 \
mpi/man/man3/MPI_Type_hindexed.3 \
mpi/man/man3/MPI_Type_hvector.3 \
mpi/man/man3/MPI_Type_indexed.3 \
mpi/man/man3/MPI_Type_lb.3 \
mpi/man/man3/MPI_Type_match_size.3 \
mpi/man/man3/MPI_Type_set_attr.3 \
mpi/man/man3/MPI_Type_set_name.3 \
mpi/man/man3/MPI_Type_size.3 \
mpi/man/man3/MPI_Type_struct.3 \
mpi/man/man3/MPI_Type_ub.3 \
mpi/man/man3/MPI_Type_vector.3 \
mpi/man/man3/MPI_Unpack.3 \
mpi/man/man3/MPI_Unpack_external.3 \
mpi/man/man3/MPI_Unpublish_name.3 \
mpi/man/man3/MPI_Wait.3 \
mpi/man/man3/MPI_Waitall.3 \
mpi/man/man3/MPI_Waitany.3 \
mpi/man/man3/MPI_Waitsome.3 \
mpi/man/man3/MPI_Win_c2f.3 \
mpi/man/man3/MPI_Win_call_errhandler.3 \
mpi/man/man3/MPI_Win_complete.3 \
mpi/man/man3/MPI_Win_create.3 \
mpi/man/man3/MPI_Win_create_errhandler.3 \
mpi/man/man3/MPI_Win_create_keyval.3 \
mpi/man/man3/MPI_Win_delete_attr.3 \
mpi/man/man3/MPI_Win_f2c.3 \
mpi/man/man3/MPI_Win_fence.3 \
mpi/man/man3/MPI_Win_free.3 \
mpi/man/man3/MPI_Win_free_keyval.3 \
mpi/man/man3/MPI_Win_get_attr.3 \
mpi/man/man3/MPI_Win_get_errhandler.3 \
mpi/man/man3/MPI_Win_get_group.3 \
mpi/man/man3/MPI_Win_get_name.3 \
mpi/man/man3/MPI_Win_lock.3 \
mpi/man/man3/MPI_Win_post.3 \
mpi/man/man3/MPI_Win_set_attr.3 \
mpi/man/man3/MPI_Win_set_errhandler.3 \
mpi/man/man3/MPI_Win_set_name.3 \
mpi/man/man3/MPI_Win_start.3 \
mpi/man/man3/MPI_Win_test.3 \
mpi/man/man3/MPI_Win_unlock.3 \
mpi/man/man3/MPI_Win_wait.3 \
mpi/man/man3/MPI_Wtick.3 \
mpi/man/man3/MPI_Wtime.3 \
mpi/man/man3/OpenMPI.3
man_MANS += $(mpi_api_man_pages)
EXTRA_DIST += $(mpi_api_man_pages)