On May 12, 2009, at 9:37 AM, Josh Hursey wrote:
> For the same reasons that Jeff mentioned, I think it is probably
> better to have a separate mpi-ext.h outside of mpi.h. It just makes
> things a bit more explicit for the programmer.
> With regard to the #define, should we have one for all extended
> interfaces (i.e., OMPI_HAVE_MPI_EXT) or one for each set of interfaces
> (i.e., OMPI_HAVE_MPI_EXT_EXAMPLE, OMPI_HAVE_MPI_EXT_MAGIC, ...)?
(putting on my hat as a 3rd party MPI application developer)
Probably having both would be good.
1. Having the "OMPI_HAVE_MPI_EXT" is trivial to do; it can be hard-
coded in the mpi-ext.h file. Even if no one uses it, it costs us
nothing to add it -- so on the off chance that the global flag is
useful to someone, we might as well do it.
2. Having the "OMPI_HAVE_MPI_EXT_<foo>" can certainly be useful to
check for specific extensions, e.g., in someone's configure script and/
or directly in their source code.
If you didn't find them already, IIRC the m4 function name to convert
the <foo> extension name to all caps (and therefore suitable for
AC_DEFINE) is something like m4_translit. Grep through the OMPI m4
code / google around to find examples of it.