Libpvm is written in C and directly supports C and C++ applications. The Fortran library, libfpvm3.a (also written in C), is a set of wrapper functions that conform to the Fortran calling conventions. The Fortran/C linking requirements are portably met by preprocessing the C source code for the Fortran library with m4 before compilation.