Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 14683)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 14684)
@@ -227,6 +227,4 @@
 					./toolkits/issm/IssmDenseMat.h\
 					./toolkits/issm/IssmMat.h\
-					./toolkits/issm/IssmMpiDenseMat.h\
-					./toolkits/issm/IssmMpiVec.h\
 					./toolkits/issm/IssmSeqVec.h\
 					./toolkits/issm/IssmVec.h\
@@ -751,5 +749,8 @@
 mpi_sources= ./toolkits/mpi/mpiincludes.h\
 				./toolkits/mpi/patches/mpipatches.h\
-				./toolkits/mpi/patches/DetermineLocalSize.cpp
+				./toolkits/mpi/patches/DetermineLocalSize.cpp\
+				./toolkits/issm/IssmMpiDenseMat.h\
+				./toolkits/issm/IssmMpiVec.h
+
 #}}}
 #Metis sources  {{{
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h	(revision 14683)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h	(revision 14684)
@@ -52,5 +52,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>();
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -67,5 +71,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>(M,N);
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -82,5 +90,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>(M,N,sparsity);
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -97,5 +109,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>(m,n,M,N,d_nnz,o_nnz);
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -112,5 +128,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>(serial_mat,M,N,sparsity);
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -128,5 +148,9 @@
 					break;
 				case MpiDenseEnum:
+					#ifdef _HAVE_MPI_
 					this->matrix=new IssmMpiDenseMat<doubletype>(M,N,connectivity,numberofdofspernode);
+					#else
+					_error_("MpiDense matrix requires compilation of MPI!");
+					#endif
 					break;
 				default:
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmVec.h	(revision 14683)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmVec.h	(revision 14684)
@@ -48,5 +48,9 @@
 					break;
 				case MpiEnum:
+					#ifdef _HAVE_MPI_
 					this->vector=new IssmMpiVec<doubletype>();
+					#else
+					_error_("Mpi vector requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -63,5 +67,9 @@
 					break;
 				case MpiEnum:
+					#ifdef _HAVE_MPI_
 					this->vector=new IssmMpiVec<doubletype>(M);
+					#else
+					_error_("Mpi vector requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -78,5 +86,9 @@
 					break;
 				case MpiEnum:
+					#ifdef _HAVE_MPI_
 					this->vector=new IssmMpiVec<doubletype>(m,M);
+					#else
+					_error_("Mpi vector requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -93,5 +105,9 @@
 					break;
 				case MpiEnum:
+					#ifdef _HAVE_MPI_
 					this->vector=new IssmMpiVec<doubletype>(M,fromlocalsize);
+					#else
+					_error_("Mpi vector requires compilation of MPI!");
+					#endif
 					break;
 				default:
@@ -108,5 +124,9 @@
 					break;
 				case MpiEnum:
+					#ifdef _HAVE_MPI_
 					this->vector=new IssmMpiVec<doubletype>(buffer,M);
+					#else
+					_error_("Mpi vector requires compilation of MPI!");
+					#endif
 					break;
 				default:
Index: /issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h	(revision 14683)
+++ /issm/trunk-jpl/src/c/toolkits/issm/issmtoolkit.h	(revision 14684)
@@ -6,12 +6,22 @@
 #define _ISSM_TOOLKIT_H_
 
+#ifdef HAVE_CONFIG_H
+	#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
 #include "./IssmAbsMat.h"
 #include "./IssmAbsVec.h"
 #include "./IssmDenseMat.h"
 #include "./IssmMat.h"
-#include "./IssmMpiDenseMat.h"
-#include "./IssmMpiVec.h"
 #include "./IssmSeqVec.h"
 #include "./IssmVec.h"
 
+#ifdef _HAVE_MPI_
+#include "./IssmMpiDenseMat.h"
+#include "./IssmMpiVec.h"
 #endif
+
+
+#endif
