But surely the morph layer needs to be compiled against the local MPI? I would much prefer a situation whereby my customers do not have to build anything. By having a standard binary interface (which MPI implementations are free to satisfy using the morph layer - and there should still be an option to compile and link against the "native" implementation to avoid any performance penalty in the morph layer), there's nothing to compile.