From f1f91767db437acf0fc464ef1906947d70c8ee11 Mon Sep 17 00:00:00 2001
From: Chuck Atkins <chuck.atkins@kitware.com>
Date: Wed, 19 Apr 2017 20:48:56 -0400
Subject: [PATCH] Stop mpidummy.h contamination from ADIOS1

---
 source/adios2/engine/adios1/ADIOS1Reader.h | 14 ++++++++++++--
 source/adios2/engine/adios1/ADIOS1Writer.h | 14 ++++++++++++--
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/source/adios2/engine/adios1/ADIOS1Reader.h b/source/adios2/engine/adios1/ADIOS1Reader.h
index 720acbad6..e600754ea 100644
--- a/source/adios2/engine/adios1/ADIOS1Reader.h
+++ b/source/adios2/engine/adios1/ADIOS1Reader.h
@@ -15,12 +15,22 @@
 
 #include <iostream> //this must go away
 
-#include <adios_read_v2.h>
-
 #include "adios2/ADIOSConfig.h"
 #include "adios2/capsule/heap/STLVector.h"
 #include "adios2/core/Engine.h"
 
+// Fake out the include guard from ADIOS1's mpidummy.h to prevent it from
+// getting included
+#ifdef _NOMPI
+#define __MPI_DUMMY_H__
+#define MPI_Comm int
+#endif
+#include <adios_read_v2.h>
+#ifdef _NOMPI
+#undef MPI_Comm
+#undef __MPI_DUMMY_H__
+#endif
+
 namespace adios
 {
 
diff --git a/source/adios2/engine/adios1/ADIOS1Writer.h b/source/adios2/engine/adios1/ADIOS1Writer.h
index c02de6a81..bc9ebe450 100644
--- a/source/adios2/engine/adios1/ADIOS1Writer.h
+++ b/source/adios2/engine/adios1/ADIOS1Writer.h
@@ -13,11 +13,21 @@
 #ifndef ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
 #define ADIOS2_ENGINE_ADIOS1_ADIOS1WRITER_H_
 
-#include <adios.h>
-
 #include "adios2/ADIOSConfig.h"
 #include "adios2/core/Engine.h"
 
+// Fake out the include guard from ADIOS1's mpidummy.h to prevent it from
+// getting included
+#ifdef _NOMPI
+#define __MPI_DUMMY_H__
+#define MPI_Comm int
+#endif
+#include <adios.h>
+#ifdef _NOMPI
+#undef MPI_Comm
+#undef __MPI_DUMMY_H__
+#endif
+
 namespace adios
 {
 
-- 
GitLab