Index: /issm/trunk-jpl/src/c/classes/AdolcEdf.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/AdolcEdf.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/classes/AdolcEdf.h	(revision 13767)
@@ -9,5 +9,12 @@
 #define _ADOLC_EDF_H_
 
-#ifdef _HAVE_ADOLC_
+#ifdef HAVE_CONFIG_H
+	#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+
+#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
 
 struct Adolc_edf {
Index: /issm/trunk-jpl/src/c/classes/objects/Options/GenericOption.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/objects/Options/GenericOption.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/classes/objects/Options/GenericOption.h	(revision 13767)
@@ -91,5 +91,5 @@
 };
 
-#ifdef _HAVE_ADOLC_ //We hook off this specific specialization when not running ADOLC, otherwise we get a redeclaration with the next specialization. 
+#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)  //We hook off this specific specialization when not running ADOLC, otherwise we get a redeclaration with the next specialization. 
 template <> inline void GenericOption<IssmPDouble*>::Get(IssmPDouble** pvalue){ /*{{{*/
 
Index: /issm/trunk-jpl/src/c/include/types.h
===================================================================
--- /issm/trunk-jpl/src/c/include/types.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/include/types.h	(revision 13767)
@@ -26,5 +26,5 @@
 #endif  
 
-#ifdef _HAVE_ADOLC_
+#if defined(_HAVE_ADOLC_) &&  !defined(_WRAPPERS_)
 #include "adolc/adolc.h"
 // for active variables
Index: /issm/trunk-jpl/src/c/modules/Solverx/Solverx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/Solverx/Solverx.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/modules/Solverx/Solverx.h	(revision 13767)
@@ -27,5 +27,5 @@
 void SolverxSeq(IssmPDouble *X, IssmPDouble *A, IssmPDouble *B,int n);
 
-#ifdef _HAVE_ADOLC_
+#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
 void SolverxSeq(IssmDouble *X,IssmDouble *A,IssmDouble *B,int n, Parameters* parameters);
 // call back functions:
Index: /issm/trunk-jpl/src/c/shared/Numerics/isnan.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 13767)
@@ -5,4 +5,11 @@
 #ifndef _XISNAN_H_
 #define _XISNAN_H_
+
+#ifdef HAVE_CONFIG_H
+   #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
 
 #include <cmath>
@@ -16,5 +23,5 @@
 }
 
-#ifdef _HAVE_ADOLC_
+#if defined(_HAVE_ADOLC_) && !defined(_WRAPPERS_)
 template <> int xIsNan<adouble> (const adouble& X);
 #endif
Index: /issm/trunk-jpl/src/c/shared/Numerics/recast.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/recast.h	(revision 13766)
+++ /issm/trunk-jpl/src/c/shared/Numerics/recast.h	(revision 13767)
@@ -9,5 +9,11 @@
 #define _RECAST_H_
 
-#ifndef _HAVE_ADOLC_
+#ifdef HAVE_CONFIG_H
+   #include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if !defined(_HAVE_ADOLC_) || defined(_WRAPPERS_)
 
 template<class To, class From>
Index: /issm/trunk-jpl/src/wrappers/matlab/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 13766)
+++ /issm/trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 13767)
@@ -24,9 +24,14 @@
 				./io/MatlabMatrixToDoubleMatrix.cpp\
 				./io/MatlabMatrixToSeqMat.cpp\
-				./io/MatlabVectorToSeqVec.cpp\
-				./io/MatlabMatrixToPetscMat.cpp\
+				./io/MatlabVectorToSeqVec.cpp
+				
+if PETSC
+io_sources= += ./io/MatlabMatrixToPetscMat.cpp\
 				./io/MatlabVectorToPetscVec.cpp
-
-ALLCXXFLAGS= -fPIC -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  $(CXXFLAGS) $(CXXOPTFLAGS) 
+endif
+
+
+
+ALLCXXFLAGS= -fPIC -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_ -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS) 
 libISSMMatlab_a_SOURCES = $(io_sources)
 libISSMMatlab_a_CXXFLAGS= $(ALLCXXFLAGS)
@@ -89,5 +94,5 @@
 
 #Triangle library
-AM_CXXFLAGS =  -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
+AM_CXXFLAGS =  -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_
 
 #Matlab part
@@ -105,5 +110,5 @@
 endif
 
-AM_CXXFLAGS +=  -D_HAVE_MATLAB_MODULES_ -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread 
+AM_CXXFLAGS +=  -D_HAVE_MATLAB_MODULES_  -D_GNU_SOURCE -fPIC -fno-omit-frame-pointer -pthread 
 
 if SHAREDLIBS
Index: /issm/trunk-jpl/src/wrappers/matlab/io/MatlabMatrixToPetscMat.cpp
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/io/MatlabMatrixToPetscMat.cpp	(revision 13766)
+++ /issm/trunk-jpl/src/wrappers/matlab/io/MatlabMatrixToPetscMat.cpp	(revision 13767)
@@ -11,7 +11,9 @@
 
 /*Petsc includes: */
+#ifdef _HAVE_PETSC_
 #include <petscmat.h>
 #include <petscvec.h>
 #include <petscksp.h>
+#endif
 
 /*Matlab includes: */
Index: /issm/trunk-jpl/src/wrappers/python/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/wrappers/python/Makefile.am	(revision 13766)
+++ /issm/trunk-jpl/src/wrappers/python/Makefile.am	(revision 13767)
@@ -17,5 +17,5 @@
 				./io/FetchPythonData.cpp
 
-ALLCXXFLAGS= -fPIC -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  $(CXXFLAGS) $(CXXOPTFLAGS) 
+ALLCXXFLAGS= -fPIC -D_GNU_SOURCE -fno-omit-frame-pointer -pthread -D_CPP_  -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS) 
 libISSMPython_a_SOURCES = $(io_sources)
 libISSMPython_a_CXXFLAGS= $(ALLCXXFLAGS)
@@ -65,5 +65,5 @@
 endif
 
-AM_CXXFLAGS +=  -D_HAVE_PYTHON_MODULES_  -fPIC
+AM_CXXFLAGS +=  -D_HAVE_PYTHON_MODULES_   -fPIC
 if PYTHON3
 AM_CXXFLAGS +=  -DNPY_NO_DEPRECATED_API 
