Instead of relying on a workable CPP pre-processor the source code should be generated and added to the source code list.
This means that the sources will have an extra step of preprocessing to retain some of the preprocessor flags. I.e. #ifdef MPI... etc. These should be handled by a shipped sed script with for instance:
!BUD#if*
!preprocessed statements
!BUD#endif
These may then be outlined by:
sed -e 's/^[[:space:]]*!BUD#/#/g'
Instead of relying on a workable CPP pre-processor the source code should be generated and added to the source code list.
This means that the sources will have an extra step of preprocessing to retain some of the preprocessor flags. I.e.
#ifdef MPI... etc. These should be handled by a shippedsedscript with for instance:These may then be outlined by: