Preprocessors
Octopus uses the C preprocessor for Fortran code, as controlled by the FCCPP variable for the configure script. Linux systems generally have cpp installed at /lib/cpp, which is usually the one provided by GCC, and this is the default that will be used by configure. This one will work for Octopus, as will using directly GNU’s cpp, or through the C compiler with gcc -E. (However, the default cpp on Mac OS will not work; use clang -E -ansi instead.) Generally -ansi should be given as an argument, which will avoid deletion of // “comments” but which are actually string concatenation in Fortran (do not use the -C flag). C compilers in general will do C preprocessing only, if passed the -E flag. The configure script will automatically decide whether the -P flag is required, avoiding insertion of line numbers in the output: generally, only g95 objects to these lines and requires the flag. In some cases, files will be parsed differently according to the suffix; in this case, you may need to add the -x c flag to cpp to tell it to treat the file as C. Another problem to watch out for is some cpp versions might remove whitespace and thus illegally combine what were supposed to be separate Fortran lines.