Evaluate use of mpicc profile hooks to avoid generating full wrappers
MPICH includes a mechanism (see MPICC_PROFILE) for inserting link options without modifying the mpicc script. In the past we have not been able to use this because it didn't allow enough control over library ordering; the Darshan libraries had to appear in a particular order to pick up function calls made indirectly by a user library.
Darshan 2.2.9 includes a "stub" library, however, that can be used to provide weak versions of the pnetcdf and hdf5 symbols intercepted by Darshan. This means that we can force the wrappers for those libraries to be linked in for all builds without breaking compilation in cases where hdf5 or pnetcdf are not used. This technique is used in the Cray PE 2.x environment module, and makes it so that the darshan library link order is no longer critical.
We may be able to use this technique in standard MPICH as well to avoid generating wrapper scripts.