Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 15676)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 15677)
@@ -436,22 +436,26 @@
 	AC_ARG_WITH([scotch-dir],
 	  AS_HELP_STRING([--with-scotch-dir=DIR], [scotch root directory.]),
-	  [SCOTCH_ROOT=$withval],[SCOTCH_ROOT=""]) 
-	AC_MSG_CHECKING(for scotch)
+	  [SCOTCH_ROOT=$withval],[SCOTCH_ROOT="no"]) 
+
+  dnl Check whether scotch is enabled
+	AC_MSG_CHECKING([for scotch])
+	if test "x$SCOTCH_ROOT" = "xno" ; then
+		HAVE_SCOTCH=no
+	else
+		HAVE_SCOTCH=yes
+		if ! test -d "$SCOTCH_ROOT"; then
+			AC_MSG_ERROR([scotch directory provided ($SCOTCH_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_SCOTCH)
 	
-	if test -d "$SCOTCH_ROOT"; then
-
-		dnl defaults
-		HAVE_SCOTCH=yes
+	dnl scotch libraries
+	if test "x$HAVE_CHACO" = "xyes"; then
 		SCOTCHINCL="-DNOFILEIO -I$SCOTCH_ROOT/include -DSCOTCH_VERSION=\\\"UNKNOWN\\\""
 		SCOTCHLIB="-L$SCOTCH_ROOT/lib -lnfioscotch -lnfioscotcherr -lnfioscotcherrexit -lscotchmetis"
-
 		AC_DEFINE([_HAVE_SCOTCH_],[1],[with Scotch in ISSM src])
 		AC_SUBST([SCOTCHINCL])
 		AC_SUBST([SCOTCHLIB])
-
-	else
-		HAVE_SCOTCH=no
-	fi
-	AC_MSG_RESULT($HAVE_SCOTCH)
+	fi
 	dnl }}}
 	dnl adolc{{{
@@ -459,27 +463,26 @@
 		AS_HELP_STRING([--with-adolc-dir=DIR], [adolc root directory.]),
 		[ADOLC_ROOT=$withval],[ADOLC_ROOT="no"]) 
-	AC_MSG_CHECKING(for adolc)
-
-	if test "x$ADOLC_ROOT" = "xno"; then
+
+	dnl Check whether adolc is enabled
+	AC_MSG_CHECKING([for adolc])
+	if test "x$ADOLC_ROOT" = "xno" ; then
 		HAVE_ADOLC=no
 	else
-		if test -d "$ADOLC_ROOT"; then
-
-			dnl defaults
-			HAVE_ADOLC=yes
-			ADOLCINCL="-I$ADOLC_ROOT/include"
-			ADOLCLIB="-L$ADOLC_ROOT/lib64 -ladolc"
-
-			AC_DEFINE([_HAVE_ADOLC_],[1],[with adolc in ISSM src])
-			AC_SUBST([ADOLCINCL])
-			AC_SUBST([ADOLCLIB])
-
-		else
-			echo  "Specified directory does not exist!"
-			exit 1
-		fi
+		HAVE_ADOLC=yes
+		if ! test -d "$ADOLC_ROOT"; then
+			AC_MSG_ERROR([adolc directory provided ($ADOLC_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_ADOLC)
+	
+	dnl adolc headers and libraries
+	if test "x$HAVE_ADOLC" == "xyes"; then
+		ADOLCINCL="-I$ADOLC_ROOT/include"
+		ADOLCLIB="-L$ADOLC_ROOT/lib64 -ladolc"
+		AC_DEFINE([_HAVE_ADOLC_],[1],[with adolc in ISSM src])
+		AC_SUBST([ADOLCINCL])
+		AC_SUBST([ADOLCLIB])
 	fi
 	AM_CONDITIONAL([ADOLC], [test x$HAVE_ADOLC = xyes])
-	AC_MSG_RESULT($HAVE_ADOLC)
 	dnl }}}
 	dnl adolc-version{{{
@@ -496,39 +499,46 @@
 	  AS_HELP_STRING([--with-adic2-dir=DIR], [adic2 root directory.]),
 	  [ADIC2_ROOT=$withval],[ADIC2_ROOT="no"]) 
-	AC_MSG_CHECKING(for adic2)
-
-	if test "x$ADIC2_ROOT" = "xno"; then
+
+	dnl Check whether adic2 is enabled
+	AC_MSG_CHECKING([for adic2])
+	if test "x$ADIC2_ROOT" = "xno" ; then
 		HAVE_ADIC2=no
 	else
-		if test -d "$ADIC2_ROOT"; then
-
-			dnl defaults
-			HAVE_ADIC2=yes
-			ADIC2INCL="-DADIC2_DENSE -I$ADIC2_ROOT/include -I$ADIC2_ROOT/share/runtime_dense/"
-			ADIC2LIB=""
-
-			AC_DEFINE([_HAVE_ADIC2_],[1],[with adic2 in ISSM src])
-			AC_SUBST([ADIC2INCL])
-			AC_SUBST([ADIC2LIB])
-
-		else
-			echo  "Specified directory does not exist!"
-			exit 1
-		fi
+		HAVE_ADIC2=yes
+		if ! test -d "$ADIC2_ROOT"; then
+			AC_MSG_ERROR([adic2 directory provided ($ADIC2_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_ADIC2)
+
+	dnl adic2 headers and libraries
+	if test "x$HAVE_ADIC2" == "xyes"; then
+		ADIC2INCL="-DADIC2_DENSE -I$ADIC2_ROOT/include -I$ADIC2_ROOT/share/runtime_dense/"
+		ADIC2LIB=""
+		AC_DEFINE([_HAVE_ADIC2_],[1],[with adic2 in ISSM src])
+		AC_SUBST([ADIC2INCL])
+		AC_SUBST([ADIC2LIB])
 	fi
 	AM_CONDITIONAL([ADIC2], [test x$HAVE_ADIC2 = xyes])
-	AC_MSG_RESULT($HAVE_ADIC2)
 	dnl }}}
 	dnl atlas{{{
 	AC_ARG_WITH([atlas-dir],
 	  AS_HELP_STRING([--with-atlas-dir=DIR],[atlas root directory]),
-	  [ATLAS_ROOT=$withval],[ATLAS_ROOT=""])
+	  [ATLAS_ROOT=$withval],[ATLAS_ROOT="no"])
 			  
-	AC_MSG_CHECKING(for atlas and cblas libraries in $ATLAS_ROOT)
-	if test -d "$ATLAS_ROOT"; then
-
-		dnl defaults
+	dnl Check whether atlas is enabled
+	AC_MSG_CHECKING(for atlas and cblas libraries)
+	if test "x$ATLAS_ROOT" = "xno" ; then
+		HAVE_ATLAS=no
+	else
 		HAVE_ATLAS=yes
-	
+		if ! test -d "$ATLAS_ROOT"; then
+			AC_MSG_ERROR([atlas directory provided ($ATLAS_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_ATLAS)
+
+	dnl atlas headers and libraries
+	if test "x$HAVE_ATLAS" == "xyes"; then
 		dnl: branch on whether we are running on windows or linux.
 		case "${host_os}" in
@@ -543,11 +553,7 @@
 			;;
 		esac
-
 		AC_DEFINE([_HAVE_ATLAS_],[1],[with ATLAS in ISSM src])
 		AC_SUBST([ATLASLIB])
-	else
-		HAVE_ATLAS=no
-	fi
-	AC_MSG_RESULT($HAVE_ATLAS)
+	fi
 	dnl }}}
 	dnl gsl{{{
@@ -556,16 +562,19 @@
 	  [GSL_ROOT=$withval],[GSL_ROOT="no"]) 
 
-	AC_MSG_CHECKING(for gsl)
-	
+	dnl Check whether gsl is enabled
+	AC_MSG_CHECKING([for gsl])
 	if test "x$GSL_ROOT" = "xno" ; then
 		HAVE_GSL=no
 	else
+		HAVE_GSL=yes
 		if ! test -d "$GSL_ROOT"; then
 			AC_MSG_ERROR([gsl directory provided ($GSL_ROOT) does not exist]);
 		fi
-
-		HAVE_GSL=yes
+	fi
+	AC_MSG_RESULT($HAVE_GSL)
+	
+	dnl gsl headers and libraries
+	if test "x$HAVE_GSL" == "xyes"; then
 		GSLINCL="-I$GSL_ROOT/include"
-
 		if test "x$HAVE_ATLAS" = "xyes" ; then
 			GSLLIB="-dy -L$GSL_ROOT/lib -lgsl -L$ATLAS_ROOT/lib -lcblas -latlas -lm"
@@ -573,5 +582,4 @@
 			GSLLIB="-dy -L$GSL_ROOT/lib -lgsl -lgslcblas -lm"
 		fi
-
 		AC_DEFINE([_HAVE_GSL_],[1],[with gsl in ISSM src])
 		AC_SUBST([GSLINCL])
@@ -579,28 +587,31 @@
 	fi
 	AM_CONDITIONAL([GSL], [test x$HAVE_GSL = xyes])
-	AC_MSG_RESULT($HAVE_GSL)
 	dnl }}}
 	dnl rose{{{
 	AC_ARG_WITH([rose-dir],
 	  AS_HELP_STRING([--with-rose-dir=DIR], [rose root directory.]),
-	  [ROSE_ROOT=$withval],[ROSE_ROOT=""]) 
-	AC_MSG_CHECKING(for rose)
-	
-	if test -d "$ROSE_ROOT"; then
-
-		dnl defaults
+	  [ROSE_ROOT=$withval],[ROSE_ROOT="no"]) 
+
+	dnl Check whether rose is enabled
+	AC_MSG_CHECKING([for rose])
+	if test "x$ROSE_ROOT" = "xno" ; then
+		HAVE_ROSE=no
+	else
 		HAVE_ROSE=yes
+		if ! test -d "$ROSE_ROOT"; then
+			AC_MSG_ERROR([rose directory provided ($ROSE_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_ROSE)
+	AM_CONDITIONAL([ROSE],[test x$HAVE_ROSE = xyes])
+
+	dnl library and header files
+	if test "x$HAVE_ROSE" = "xyes"; then
 		ROSEINCL="-I$ROSE_ROOT/include"
 		ROSELIB=""
-
 		AC_DEFINE([_HAVE_ROSE_],[1],[with rose in ISSM src])
 		AC_SUBST([ROSEINCL])
 		AC_SUBST([ROSELIB])
-
-	else
-		HAVE_ROSE=no
-	fi
-	AM_CONDITIONAL([ROSE], [test x$HAVE_ROSE = xyes])
-	AC_MSG_RESULT($HAVE_ROSE)
+	fi
 	dnl }}}
 	dnl mpi{{{
@@ -646,5 +657,4 @@
 		AC_SUBST([MPILIB])
 	fi
-
 	AM_CONDITIONAL([MPI], [test x$HAVE_MPI = xyes])
 	AC_MSG_RESULT($HAVE_MPI)
@@ -653,7 +663,21 @@
 	AC_ARG_WITH([petsc-dir],
 	  AS_HELP_STRING([--with-petsc-dir=DIR],[PETSc root directory, necessary for parallel build]),
-	  [PETSC_ROOT=$withval],[PETSC_ROOT=""])
+	  [PETSC_ROOT=$withval],[PETSC_ROOT="no"])
 		
-	if test -d "$PETSC_ROOT"; then
+	dnl Check whether petsc is enabled
+	AC_MSG_CHECKING([for petsc])
+	if test "x$PETSC_ROOT" = "xno" ; then
+		HAVE_PETSC=no
+	else
+		HAVE_PETSC=yes
+		if ! test -d "$PETSC_ROOT"; then
+			AC_MSG_ERROR([petsc directory provided ($PETSC_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_PETSC)
+	AM_CONDITIONAL([PETSC],[test x$HAVE_PETSC = xyes])
+
+	dnl library and header files
+	if test "x$HAVE_PETSC" = "xyes"; then
 		AC_MSG_CHECKING(for petsc version)
 	   if ! test -f "$PETSC_ROOT/include/petscversion.h"; then
@@ -677,66 +701,56 @@
 			AC_MSG_RESULT(no)
 		fi
-	fi
 	
-	AC_ARG_WITH([petsc-arch],
-	  AS_HELP_STRING([--with-petsc-arch=DIR],[PETSc arch , necessary for parallel build]),
-	  [PETSC_ARCH=$withval],[PETSC_ARCH=""])
-
-	AC_MSG_CHECKING(for petsc headers and libraries in $PETSC_ROOT for architecture $PETSC_ARCH)
-	
-	dnl To ge PETSc's libraries:
-	dnl cd externalpackages/petsc/src
-	dnl make getlinklibs
-	if test -d "$PETSC_ROOT"; then
-
-	 PETSCINCL=" -I$PETSC_ROOT/include"
-	 dnl Add other location (not needed anymore since at least PETSc 3.0)
-	 if test "x$PETSC_ARCH" != "x" && test -d "$PETSC_ROOT/$PETSC_ARCH/include"; then
-	  PETSCINCL+=" $PETSC_ROOT/$PETSC_ARCH/include"
-	 fi
-	 if test "x$PETSC_ARCH" != "x" && test -d "$PETSC_ROOT/include/$PETSC_ARCH"; then
-	  PETSCINCL+=" $PETSC_ROOT/include/$PETSC_ARCH"
-	 fi
-	
-	 case "${host_os}" in
-			*cygwin*)
-			if test $PETSC_MAJOR -lt 3 ; then
-				PETSCLIB=-Wl,/LIBPATH:`cygpath -w $PETSC_ROOT/lib`  -Wl,libpetscksp.lib  -Wl,libpetscdm.lib  -Wl,libpetscmat.lib  -Wl,libpetscvec.lib  -Wl,libpetscsnes.lib  -Wl,libpetscts.lib  -Wl,libmpiuni.lib  -Wl,libpetsc.lib
-			else
-				PETSCLIB="-L$PETSC_ROOT/lib  -Wl,libpetsc.lib"
-				if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+="  -Wl,libmetis.lib"; fi
-			fi
-			;;
-			*linux*)
-			if test $PETSC_MAJOR -lt 3 ; then
-				PETSCLIB="-L$PETSC_ROOT/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lmpiuni -lpetsc"
-			else
-				PETSCLIB="-L$PETSC_ROOT/lib -lpetsc -ldl"
-				if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+=" -lmetis"; fi
-			fi
-			;;
-			*darwin*)
-			if test $PETSC_MAJOR -lt 3 ; then
-				PETSCLIB="-L$PETSC_ROOT/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc"
-			else
-				PETSCLIB="-L$PETSC_ROOT/lib -lpetsc"
-				if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+=" -lmetis"; fi
-			fi
-			;;
+		AC_ARG_WITH([petsc-arch],
+		  AS_HELP_STRING([--with-petsc-arch=DIR],[PETSc arch, necessary for PETSc < 3.0]),
+		  [PETSC_ARCH=$withval],[PETSC_ARCH=""])
+
+		AC_MSG_CHECKING(for petsc headers and libraries in $PETSC_ROOT)
+		dnl To ge PETSc's libraries:
+		dnl cd externalpackages/petsc/src
+		dnl make getlinklibs
+		PETSCINCL=" -I$PETSC_ROOT/include"
+		dnl Add other location (not needed anymore since at least PETSc 3.0)
+		if test "x$PETSC_ARCH" != "x" && test -d "$PETSC_ROOT/$PETSC_ARCH/include"; then
+		 PETSCINCL+=" $PETSC_ROOT/$PETSC_ARCH/include"
+		fi
+		if test "x$PETSC_ARCH" != "x" && test -d "$PETSC_ROOT/include/$PETSC_ARCH"; then
+		 PETSCINCL+=" $PETSC_ROOT/include/$PETSC_ARCH"
+		fi
+		
+		case "${host_os}" in
+				*cygwin*)
+				if test $PETSC_MAJOR -lt 3 ; then
+					PETSCLIB=-Wl,/LIBPATH:`cygpath -w $PETSC_ROOT/lib`  -Wl,libpetscksp.lib  -Wl,libpetscdm.lib  -Wl,libpetscmat.lib  -Wl,libpetscvec.lib  -Wl,libpetscsnes.lib  -Wl,libpetscts.lib  -Wl,libmpiuni.lib  -Wl,libpetsc.lib
+				else
+					PETSCLIB="-L$PETSC_ROOT/lib  -Wl,libpetsc.lib"
+					if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+="  -Wl,libmetis.lib"; fi
+				fi
+				;;
+				*linux*)
+				if test $PETSC_MAJOR -lt 3 ; then
+					PETSCLIB="-L$PETSC_ROOT/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lmpiuni -lpetsc"
+				else
+					PETSCLIB="-L$PETSC_ROOT/lib -lpetsc -ldl"
+					if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+=" -lmetis"; fi
+				fi
+				;;
+				*darwin*)
+				if test $PETSC_MAJOR -lt 3 ; then
+					PETSCLIB="-L$PETSC_ROOT/lib -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetscsnes -lpetscts -lpetsc"
+				else
+					PETSCLIB="-L$PETSC_ROOT/lib -lpetsc"
+					if test $PETSC_MAJOR -gt 3 || test $PETSC_MINOR -ge 3; then PETSCLIB+=" -lmetis"; fi
+				fi
+				;;
 		esac
+		AC_MSG_RESULT(done)
 		AC_DEFINE([_HAVE_PETSC_],[1],[with PETSc in ISSM src])
 		AC_SUBST([PETSCINCL])
 		AC_SUBST([PETSCLIB])
-		HAVE_PETSC=yes
-	else
-		HAVE_PETSC=no
-	fi
-	
-	AM_CONDITIONAL([PETSC], [test x$HAVE_PETSC = xyes])
-	AC_MSG_RESULT($HAVE_PETSC)
+	fi
 	dnl }}}
 	dnl metis{{{
 	if test "$HAVE_PETSC" = "yes" && test "x$PETSC_MAJOR" = "x3" && test $PETSC_MINOR -ge 3; then
-
 		dnl in petsc >=3.3, metis is provided
 		HAVE_METIS="yes"
@@ -746,10 +760,23 @@
 		AC_ARG_WITH([metis-dir],
 		  AS_HELP_STRING([--with-metis-dir=DIR],[metis root directory. necessary for serial build]),
-		  [METIS_ROOT=$withval],[METIS_ROOT=""])
-
-		AC_MSG_CHECKING(for metis headers and libraries in $METIS_ROOT)
-
-		if test -d "$METIS_ROOT"; then
-
+		  [METIS_ROOT=$withval],[METIS_ROOT="no"])
+
+		dnl Check whether metis is enabled
+		AC_MSG_CHECKING([for metis])
+		if test "x$METIS_ROOT" = "xno" ; then
+			HAVE_METIS=no
+		else
+			HAVE_METIS=yes
+			if ! test -d "$METIS_ROOT"; then
+				AC_MSG_ERROR([metis directory provided ($METIS_ROOT) does not exist]);
+			fi
+		fi
+		AC_MSG_RESULT($HAVE_METIS)
+		AM_CONDITIONAL([METIS],[test x$HAVE_METIS = xyes])
+
+		dnl library and header files
+		if test "x$HAVE_METIS" = "xyes"; then
+
+			AC_MSG_CHECKING(for metis headers and libraries in $METIS_ROOT)
 			dnl first figure out version of metis: does the VERSION file exist?
 			if test -e "$METIS_ROOT/VERSION"; then
@@ -759,9 +786,5 @@
 			fi
 
-			dnl defaults
-			HAVE_METIS=yes
-
 			if test "$METIS_VERSION" = "4" ; then
-					
 				METISINCL=-I"$METIS_ROOT/Lib" 
 				case "${host_os}" in
@@ -776,9 +799,8 @@
 					;;
 				esac
-
-					AC_DEFINE([_METIS_VERSION_],[4],[ Metis version number])
+				AC_DEFINE([_METIS_VERSION_],[4],[ Metis version number])
 			fi
+
 			if test "$METIS_VERSION" = "5" ; then
-		
 				case "${host_os}" in
 					*cygwin*)
@@ -792,5 +814,4 @@
 					;;
 				esac
-
 				METISINCL=-I"$METIS_ROOT/include" 
 				AC_DEFINE([_METIS_VERSION_],[5],[ Metis version number])
@@ -800,30 +821,33 @@
 			AC_SUBST([METISINCL])
 			AC_SUBST([METISLIB])
-		else
-			HAVE_METIS=no
-		fi
-		AC_MSG_RESULT($HAVE_METIS)
-	fi
-	AM_CONDITIONAL([METIS], [test x$HAVE_METIS = xyes])
+		fi
+	fi
+	AM_CONDITIONAL([METIS],[test x$HAVE_METIS = xyes])
 	dnl }}}
 	dnl tao{{{
 	AC_ARG_WITH([tao-dir],
 		AS_HELP_STRING([--with-tao-dir=DIR], [tao root directory.]),
-		[TAO_ROOT=$withval],[TAO_ROOT=""]) 
-	AC_MSG_CHECKING(for tao)
-
-	if test -d "$TAO_ROOT"; then
-
-	  HAVE_TAO=yes
+		[TAO_ROOT=$withval],[TAO_ROOT="no"]) 
+
+	dnl Check whether tao is enabled
+	AC_MSG_CHECKING([for tao])
+	if test "x$TAO_ROOT" = "xno" ; then
+		HAVE_TAO=no
+	else
+		HAVE_TAO=yes
+		if ! test -d "$TAO_ROOT"; then
+			AC_MSG_ERROR([tao directory provided ($TAO_ROOT) does not exist]);
+		fi
+	fi
+	AC_MSG_RESULT($HAVE_TAO)
+	
+	dnl tao headers and libraries
+	if test "x$HAVE_TAO" == "xyes"; then
 	  TAOINCL="-I$TAO_ROOT/ -I$TAO_ROOT/include -I$TAO_ROOT/bmake/ "
 	  TAOLIB="-L$TAO_ROOT/lib -ltao -lpetsc"
-
 	  AC_DEFINE([_HAVE_TAO_],[1],[with Tao in ISSM src])
 	  AC_SUBST([TAOINCL])
 	  AC_SUBST([TAOLIB])
-	else
-		HAVE_TAO=no
-	fi
-	AC_MSG_RESULT($HAVE_TAO)
+	fi
 	dnl }}}
 	dnl slepc{{{
@@ -837,5 +861,4 @@
 		SLEPCINCL=-I"$SLEPC_ROOT/include"
 		SLEPCLIB=-L"$SLEPC_ROOT/lib/ -lslepc"
-
 		AC_DEFINE([_HAVE_SLEPC_],[1],[with Slepc in ISSM src])
 		AC_SUBST([SLEPCINCL])
