In order to build MLD2P4 it is necessary to set up a Makefile with appropriate system-dependent variables; this is done by means of the configure script. The distribution also includes the autoconf and automake sources employed to generate the script, but usually this is not needed to build the software.
MLD2P4 is implemented almost entirely in Fortran 2003, with some interfaces to external libraries in C; the Fortran compiler must support the Fortran 2003 standard plus the extension MOLD= feature, which enhances the usability of ALLOCATE. Many compilers do this; in particular, this is supported by the GNU Fortran compiler, for which we recommend to use at least version 4.8. The software defines data types and interfaces for real and complex data, in both single and double precision.
Building MLD2P4 requires some base libraries (see Section 3.1); interfaces to optional third-party libraries, which extend the functionalities of MLD2P4 (see Section 3.2), are also available. Many Linux distributions (e.g., Ubuntu, Fedora, CentOS) provide precompiled packages for the prerequisite and optional software. In many cases these packages are split between a runtime part and a “developer” part; in order to build MLD2P4 you need both. A description of the base and optional software used by MLD2P4 is given in the next sections.