-
Notifications
You must be signed in to change notification settings - Fork 894
docs: Render C/F90/F08 bindings in man pages #13179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
e63f622
to
7791f2a
Compare
3c48fba
to
8b5045c
Compare
Use the pympistandard Python module and associated MPI-4.1 MPI Standard JSON definition file to generate bindings -- regular and embiggened -- in the MPI man pages. In the generation code, had to handle a variety of cases: * When there is no C binding * When there is no mpif.h / use mpi binding * When there is no use mpi_f08 binding * When there are embiggened C and/or F08 bindings * When a single man page includes documentation for multiple MPI APIs * When we do not have man pages for MPI APIs described in the official MPI Forum API JSON Also, this commit adds a new submodule: the pympistandard Python module from the MPI Forum repository. Some other cleanups were also necessary as part of this commit: * Add some missing man pages * Fix some random RST formatting errors in existing man pages Signed-off-by: Jeff Squyres <[email protected]>
8b5045c
to
b660590
Compare
@bwbarrett @hppritcha I think this is now ready for review. In particular, please examine:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
spot checked some of the more complex man pages and they look good.
double checked with make distcheck and that worked.
But a vpath build failed (with sphinx enabled) looking for the binding rst files:
/Users/hpp/ompi2/build_it/docs/man-openmpi/man3/MPI_Neighbor_alltoall.3.rst:16: CRITICAL: Problems with "include" directive path:
InputError: [Errno 2] No such file or directory: 'man-openmpi/man3/bindings/mpi_neighbor_alltoall.rst'.
man-openmpi/man3/MPI_Neighbor_alltoall.3.rst:10: CRITICAL: Problems with "include" directive path:
InputError: [Errno 2] No such file or directory: 'man-openmpi/man3/bindings/mpi_neighbor_alltoall.rst'.
/Users/hpp/ompi2/build_it/docs/man-openmpi/man3/MPI_Neighbor_alltoallv.3.rst:18: CRITICAL: Problems with "include" directive path:
InputError: [Errno 2] No such file or directory: 'man-openmpi/man3/bindings/mpi_neighbor_alltoallv.rst'.
man-openmpi/man3/MPI_Neighbor_alltoallv.3.rst:12: CRITICAL: Problems with "include" directive path:
InputError: [Errno 2] No such file or directory: 'man-openmpi/man3/bindings/mpi_neighbor_alltoallv.rst'.
is this to be expected? Namely we won't support vpath builds and sphinx doc generation?
No, this is not expected. I tested VPATH builds and they were working (including |
Oh I should have added I was seeing this when building on my mac laptop. |
Use the pympistandard Python module and associated MPI-4.1 MPI Standard JSON definition file to generate bindings -- regular and embiggened -- in the MPI man pages.
In the generation code, had to handle a variety of cases:
Also, this commit adds a new submodule: the pympistandard Python module from the MPI Forum repository.
Some other cleanups were also necessary as part of this commit: