Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 23349)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 23350)
@@ -989,4 +989,36 @@
 	AM_CONDITIONAL([ADJOINTMPI], [test x$HAVE_ADJOINTMPI = xyes])
 	dnl }}}
+	dnl medipack (CoDiPack, ADOLC dev){{{
+	AC_ARG_WITH([medipack-dir],
+	  AS_HELP_STRING([--with-medipack-dir=DIR], [MeDiPack root directory.]),
+	  [MEDIPACK_ROOT=$withval],[MEDIPACK_ROOT="no"])
+
+	dnl Check whether medipack is enabled
+	AC_MSG_CHECKING([for medipack])
+	if test "x$MEDIPACK_ROOT" = "xno" ; then
+		HAVE_MEDIPACK=no
+	else
+		HAVE_MEDIPACK=yes
+		if ! test -d "$MEDIPACK_ROOT"; then
+			AC_MSG_ERROR([medipack directory provided ($MEDIPACK_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_MEDIPACK)
+
+	dnl medipack headers and libraries
+	if test "x$HAVE_MEDIPACK" == "xyes"; then
+		if test "x$CODIPACK_ROOT" == "xno"; then
+			AC_MSG_ERROR([cannot run MeDiPack without CoDiPack]);
+		fi
+		MEDIPACKINCL="-I$MEDIPACK_ROOT/include -I$MEDIPACK_ROOT/src"
+		dnl Also set _HAVE_AMPI_, because the interface is (almost) the
+		dnl same as for adjoinable mpi...
+		AC_DEFINE([_HAVE_AMPI_],[1],[with adjoint mpi in ISSM src])
+		AC_DEFINE([_HAVE_MEDIPACK_],[1],[with MeDiPack in ISSM src])
+		AC_SUBST([MEDIPACKINCL])
+	fi
+	AM_CONDITIONAL([MEDIPACK], [test x$HAVE_MEDIPACK = xyes])
+
+	dnl }}}
 	dnl rose{{{
 	AC_ARG_WITH([rose-dir],
@@ -2235,4 +2267,7 @@
 			AC_MSG_ERROR([cannot compile ISSM with both PETSc and adolc]);
 		fi
+		if test "$HAVE_ADOLC" = "yes"  && test "$HAVE_CODIPACK" = "yes" ; then
+			AC_MSG_ERROR([cannot compile ISSM with both ADOLC and CoDiPack]);
+		fi
 		dnl check that if we run meteoio, we have snowpack also
 		if test "$HAVE_METEOIO" = "yes"  && test "$HAVE_SNOWPACK" = "no" ; then
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 23349)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 23350)
@@ -324,6 +324,9 @@
 					./classes/Inputs/TetraInput.cpp
 #}}}
-# ADJOINTMPI sources {{{
+#ADJOINTMPI/MeDiPack sources {{{
 if ADJOINTMPI
+issm_sources += ./toolkits/codipack/ampi_interface.cpp
+endif
+if MEDIPACK
 issm_sources += ./toolkits/codipack/ampi_interface.cpp
 endif
Index: /issm/trunk-jpl/src/c/cores/controlm1qn3_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 23349)
+++ /issm/trunk-jpl/src/c/cores/controlm1qn3_core.cpp	(revision 23350)
@@ -124,4 +124,5 @@
 				&reverse,&indic,izs,rzs,(void*)&mystruct);
 
+	/*Print exit flag*/
 	switch(int(omode)){
 		case 0:  _printf0_("   Stop requested (indic = 0)\n"); break;
Index: /issm/trunk-jpl/src/c/toolkits/codipack/ampi_interface.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/codipack/ampi_interface.cpp	(revision 23349)
+++ /issm/trunk-jpl/src/c/toolkits/codipack/ampi_interface.cpp	(revision 23350)
@@ -1,1 +1,14 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#if defined(_HAVE_ADJOINTMPI_)
 #include "externals/ampi_interface_realreverse.cpp"
+#elif defined(_HAVE_MEDIPACK_)
+#include "medi/medi.cpp"
+#else
+#error "Cannot compile without MeDiPack and AdjointMpi"
+#endif
+
