The CÆSAR Code Package makes extensive use of the m4 preprocessor to modify the Fortran 90 source code. All Fortran 90 source is preprocessed by m4 before compilation. The Gnu version of m4 is required.
Some of the uses of the m4 preprocessor in CÆSAR include unit testing, verification and warning statements (which implement design by contract), intrinsic type definition, and code replication.