1#ifndef MOAB_MPI_H2#define MOAB_MPI_H3#include"moab_mpi_config.h"4// following is to disable inclusion of an openmpi header that causes a compile warning5// since we don't use c++ mpi bindings, we don't need it, and doing this allows us to mark warnings as errors6#define OMPI_SKIP_MPICXX 178#ifndef __cplusplus9#include<mpi.h>10#elif !defined( MB_MPI_CXX_CONFLICT )11#ifndef MPICH_IGNORE_CXX_SEEK12#define MPICH_IGNORE_CXX_SEEK13#endif14#include<mpi.h>15#else16#include<stdio.h>17#ifdef SEEK_SET18#undef SEEK_SET19#ifdef MB_SEEK_SET20#define MB_RESTORE_SEEK_SET21#endif22#endif23#ifdef SEEK_CUR24#undef SEEK_CUR25#ifdef MB_SEEK_CUR26#define MB_RESTORE_SEEK_CUR27#endif28#endif29#ifdef SEEK_END30#undef SEEK_END31#ifdef MB_SEEK_END32#define MB_RESTORE_SEEK_END33#endif34#endif35#include<mpi.h>36#ifdef MB_RESTORE_SEEK_SET37#undef MB_RESTORE_SEEK_SET38#define SEEK_SET MB_SEEK_SET39#endif40#ifdef MB_RESTORE_SEEK_CUR41#undef MB_RESTORE_SEEK_CUR42#define SEEK_CUR MB_SEEK_CUR43#endif44#ifdef MB_RESTORE_SEEK_END45#undef MB_RESTORE_SEEK_END46#define SEEK_END MB_SEEK_END47#endif48#endif4950#endif