Index: /issm/trunk-jpl/jenkins/jenkins.sh
===================================================================
--- /issm/trunk-jpl/jenkins/jenkins.sh	(revision 26035)
+++ /issm/trunk-jpl/jenkins/jenkins.sh	(revision 26036)
@@ -7,8 +7,4 @@
 # members of the ISSM development team.
 #
-# NOTE:
-# - Variable OS is set in environment by running 
-#	`source $ISSM_DIR/etc/environment.sh`.
-#
 # TODO:
 # - Rename TEMP to something more descriptive (ensure first that other parts of
@@ -18,7 +14,7 @@
 
 echo "Cleaning up execution directory"
-rm -rf ${ISSM_DIR}/execution/*
-rm -rf ${ISSM_DIR}/nightlylog
-mkdir ${ISSM_DIR}/nightlylog
+rm -rf $ISSM_DIR/execution/*
+rm -rf $ISSM_DIR/nightlylog
+mkdir $ISSM_DIR/nightlylog
 
 #Server URI
@@ -57,4 +53,11 @@
 fi
 
+#Get Operating system (OS) name{{{
+OS=$(uname -s)
+if [[ $OS == CYGWIN* ]]; then
+	OS="win";
+fi
+#}}}
+
 #Install ISSM
 #Determining installation type depending on svn changes{{{
@@ -62,6 +65,6 @@
 echo "             Determining Installation type            "
 echo "======================================================";
-if [ -a ${ISSM_DIR}/svn_revision_old ]; then
-	SVN_PREVIOUS=$(cat ${ISSM_DIR}/svn_revision_old)
+if [ -a $ISSM_DIR/svn_revision_old ]; then
+	SVN_PREVIOUS=$(cat $ISSM_DIR/svn_revision_old)
 	SVN_CURRENT=$SVN_REVISION_1
 	echo "Previous revision number: $SVN_PREVIOUS"
@@ -71,5 +74,5 @@
 	#
 
-	#svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize ${ISSM_DIR} | awk '{print $NF}' > ${ISSM_DIR}/TEMP
+	#svn --non-interactive --no-auth-cache --trust-server-cert diff -r $SVN_PREVIOUS:$SVN_CURRENT --summarize $ISSM_DIR | awk '{print $NF}' > $ISSM_DIR/TEMP
 
 	# Get list of changes from Jenkins itself as svn requires credentials
@@ -78,13 +81,13 @@
 
 	# Process html page and get the list of files that has changed (tricky...)
-	#cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > ${ISSM_DIR}/TEMP
+	#cat changes | grep '="The file was modified"' | sed -e 's/.*<\/td><td><a>\(.*\)<\/a><\/td><td>.*/\1/' > $ISSM_DIR/TEMP
 	#cat changes | grep 'document_edit' |sed -e 's/document_edit.png/document_edit.png\
-		#/g' | sed -e 's/.*<\/a><\/td><td>\(.*\)<\/td><\/tr>.*/\1/' | grep -v 'document_edit.png' > ${ISSM_DIR}/TEMP
-	cat changes | tr " " "\n" | grep trunk | sed -e 's/.*<a>\(.*\)<\/a>.*/\1/' > ${ISSM_DIR}/TEMP
+		#/g' | sed -e 's/.*<\/a><\/td><td>\(.*\)<\/td><\/tr>.*/\1/' | grep -v 'document_edit.png' > $ISSM_DIR/TEMP
+	cat changes | tr " " "\n" | grep trunk | sed -e 's/.*<a>\(.*\)<\/a>.*/\1/' > $ISSM_DIR/TEMP
 
 	# Print list of changed files
 	echo "   "
 	echo "List of updated files"
-	cat ${ISSM_DIR}/TEMP
+	cat $ISSM_DIR/TEMP
 	echo "   "
 
@@ -96,5 +99,5 @@
 	# If the contents of the externalpackages directory were modified in any
 	# way, check for changed external packages
-	if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep externalpackages)" ]; then
+	if [ ! -z "$(cat $ISSM_DIR/TEMP | grep externalpackages)" ]; then
 		echo "  -- checking for changed externalpackages... yes"
 		ISSM_EXTERNALPACKAGES="yes"
@@ -106,6 +109,6 @@
 	# If the Makefile or m4 diirectory were changed in any way or if certain
 	# binary files from a previous compilation do not exist, reconfigure
-	if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep -e "Makefile.am" -e "m4" )" ] ||
-		[ ! -f "${ISSM_DIR}/bin/issm.exe" ] && [ ! -f "${ISSM_DIR}/bin/issm-bin.js" ] ||
+	if [ ! -z "$(cat $ISSM_DIR/TEMP | grep -e "Makefile.am" -e "m4" )" ] ||
+		[ ! -f "$ISSM_DIR/bin/issm.exe" ] && [ ! -f "$ISSM_DIR/bin/issm-bin.js" ] ||
 		[ "$ISSM_EXTERNALPACKAGES" == "yes" ]; then
 		echo "  -- checking for reconfiguration... yes"
@@ -117,5 +120,5 @@
 
 	# If source files were changed in any way, recompile
-	if [ ! -z "$(cat ${ISSM_DIR}/TEMP | grep -e "\.cpp" -e "\.h" )" ] ||
+	if [ ! -z "$(cat $ISSM_DIR/TEMP | grep -e "\.cpp" -e "\.h" )" ] ||
 		[ "$ISSM_RECONFIGURE" == "yes" ]; then
 		echo "  -- checking for recompilation... yes"
@@ -128,5 +131,5 @@
 	# Cleanup
 	rm changes
-	rm ${ISSM_DIR}/TEMP
+	rm $ISSM_DIR/TEMP
 else
 	echo "Previous revision not found, this must be a fresh install"
@@ -141,5 +144,5 @@
 echo " "
 echo "Recording current svn version: $SVN_REVISION_1"
-echo $SVN_REVISION_1 > ${ISSM_DIR}/svn_revision_old
+echo $SVN_REVISION_1 > $ISSM_DIR/svn_revision_old
 #}}}
 
@@ -151,14 +154,14 @@
 
 #Jenkins XML files for individual packages
-EXTERNAL_TEST_FILE="${ISSM_DIR}/nightlylog/results/external.xml"
-mkdir -p ${ISSM_DIR}/nightlylog/results
+EXTERNAL_TEST_FILE="$ISSM_DIR/nightlylog/results/external.xml"
+mkdir -p $ISSM_DIR/nightlylog/results
 echo "<testsuite tests=\"$NUMPACKAGES\">" > $EXTERNAL_TEST_FILE
 
 # Need a source here for when builds start midway through installation of externalpackages.
-source ${ISSM_DIR}/etc/environment.sh
-
-if [ "${OS}" == CYGWIN* ]; then
+source $ISSM_DIR/etc/environment.sh
+
+if [ "$OS" == "win" ]; then
 	echo " == WINDOWS ENVIRONMENT DETECTED =="
-	source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh
+	source $ISSM_DIR/externalpackages/windows/windows_environment.sh
 fi
 
@@ -172,6 +175,6 @@
 
 	#install if requested or if previous install has not been successful
-	if [ "${ISSM_EXTERNALPACKAGES}" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist
-		cd ${ISSM_DIR}/externalpackages/$PACKAGENAME
+	if [ "$ISSM_EXTERNALPACKAGES" == "yes" ]; then # NOTE: Removed check on if 'install' directory exist
+		cd $ISSM_DIR/externalpackages/$PACKAGENAME
 
 		echo "======================================================";
@@ -180,5 +183,5 @@
 
 		./$PACKAGEINST $NUMCPUS_INSTALL &> compil.log
-		if [ $? -ne 0 ] && [ "${PACKAGENAME}" != "boost" ]; then
+		if [ $? -ne 0 ] && [ "$PACKAGENAME" != "boost" ]; then
 			cat compil.log
 			echo "======================================================";
@@ -194,5 +197,5 @@
 			echo "<testcase classname=\"externalpackages\" name=\"$PACKAGENAME\"/>" >> $EXTERNAL_TEST_FILE
 		fi
-		source ${ISSM_DIR}/etc/environment.sh
+		source $ISSM_DIR/etc/environment.sh
 
 		#If external package is rebuilt, we also need to recompile
@@ -217,9 +220,9 @@
 
 # Source here to include any newly installed externalpackages on the path.
-source ${ISSM_DIR}/etc/environment.sh
-
-if [ "${OS}" == CYGWIN* ]; then
+source $ISSM_DIR/etc/environment.sh
+
+if [ "$OS" == "win" ]; then
 	echo " == WINDOWS ENVIRONMENT DETECTED =="
-	source ${ISSM_DIR}/externalpackages/windows/windows_environment.sh
+	source $ISSM_DIR/externalpackages/windows/windows_environment.sh
 fi
 
@@ -241,12 +244,12 @@
 	#export EMCC_DEBUG=1 # Uncomment to enable debugging
 	export EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" # Required after v1.38.14 to avoid undefined symbol warnings from our Fortran object files being treated as errors
-	source ${ISSM_DIR}/externalpackages/emscripten/install/emsdk_env.sh
+	source $ISSM_DIR/externalpackages/emscripten/install/emsdk_env.sh
 fi
 
 #}}}
 #ISSM compilation yes/no                (ISSM_COMPILATION) {{{
-if [ "${ISSM_COMPILATION}" == "yes" ]; then
+if [ "$ISSM_COMPILATION" == "yes" ]; then
 	cd $ISSM_DIR
-	if [ "${ISSM_RECONFIGURE}" == "yes" ]; then
+	if [ "$ISSM_RECONFIGURE" == "yes" ]; then
 		echo "======================================================";
 		echo "             Cleaning up and reconfiguring            "
@@ -259,5 +262,5 @@
 			exit 1
 		fi
-		eval "./configure ${ISSM_CONFIG}"
+		eval "./configure $ISSM_CONFIG"
 		if [ $? -ne 0 ]; then
 			echo "ISSM configuration failed (see options below)"
@@ -273,11 +276,7 @@
 	echo "======================================================"
 	if [ $NUMCPUS_INSTALL -gt 1 ]; then
-		echo "Making with ${NUMCPUS_INSTALL} cpus"
-
-		# To debug compilation/linking, add 'V=1' option to the call to make
-		#make -j $NUMCPUS_INSTALL V=1
+		echo "Making with " $NUMCPUS_INSTALL " cpus"
 		make -j $NUMCPUS_INSTALL
 	else
-		#make V=1
 		make
 	fi
@@ -293,5 +292,6 @@
 	fi
 	make install
-elif [ "${ISSM_COMPILATION}" == "no" ]; then
+elif [ "$ISSM_COMPILATION" == "no" ]
+then
 	echo "Skipping ISSM compilation"
 else
@@ -311,11 +311,11 @@
 	for (( i=1;i<=$NUMCPUS_RUN;i++ )); do
 		#Launch matlab and the nightly run script
-		cat > ${ISSM_DIR}/nightlylog/matlab_run$i.m << EOF
+		cat > $ISSM_DIR/nightlylog/matlab_run$i.m << EOF
 		warning off %necessary to avoid a log of several Go for parallel runs
 		try,
-			$(if [ "${MATLAB_NROPTIONS}" = "" ]; then
-				echo "runme('output','nightly','rank',${i},'numprocs',${NUMCPUS_RUN});"
+			$(if [ "$MATLAB_NROPTIONS" = "" ]; then
+				echo "runme('output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"
 			else
-				echo "runme(${MATLAB_NROPTIONS},'output','nightly','rank',${i},'numprocs',${NUMCPUS_RUN});"
+				echo "runme($MATLAB_NROPTIONS,'output','nightly','rank',$i,'numprocs',$NUMCPUS_RUN);"
 			fi)
 		catch me,
@@ -332,42 +332,34 @@
 EOF
 		cd $ISSM_DIR/test/NightlyRun
-		if [[ "${OS}" == CYGWIN* || "${OS}" == MINGW* ]]; then
-			$MATLAB_PATH/bin/matlab -nodesktop -nosplash -nojvm -r "addpath ${ISSM_DIR_WIN}/src/m/dev; devpath; addpath ${ISSM_DIR_WIN}/nightlylog; matlab_run$i" -logfile ${ISSM_DIR_WIN}/nightlylog/matlab_log$i.log &
+		if [ "$OS" = "win" ]; then
+			$MATLAB_PATH/bin/matlab -nodisplay -nosplash -r "addpath $ISSM_DIR_WIN/src/m/dev; devpath; addpath $ISSM_DIR_WIN/nightlylog/; matlab_run$i" -logfile $ISSM_DIR_WIN/nightlylog/matlab_log$i.log &
 		else
-			$MATLAB_PATH/bin/matlab -nodisplay -nosplash -r "addpath ${ISSM_DIR}/src/m/dev; devpath; addpath ${ISSM_DIR}/nightlylog; matlab_run$i" -logfile ${ISSM_DIR}/nightlylog/matlab_log$i.log &
+			$MATLAB_PATH/bin/matlab -nodisplay -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath; addpath $ISSM_DIR/nightlylog/; matlab_run$i" -logfile $ISSM_DIR/nightlylog/matlab_log$i.log &
 		fi
 	done
 
-	# Wait for MATLAB to exit
-	if [[ "${OS}" == CYGWIN* ]]; then
+	#wait until matlab closes
+	if [ "$OS" = "win" ]; then
 		sleep 5;
-		echo "Waiting for MATLAB to exit"
+		echo "Waiting for matlab on windows"
 		pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}')
 		echo '-----------------------------'
-		echo "pid: ${pid}"
+		echo "pid: $pid"
 		echo '-----------------------------'
-		while [ -n "${pid}" ]; do
+		while [ -n "$pid" ]; do
 			pid=$(ps aux -W | grep MATLAB | awk '{printf("%s\n","MATLAB");}')
 			sleep 1;
 		done
 		echo "DONE!"
-	elif [[ "${OS}" == MINGW* ]]; then
-		# NOTE: The PID query used here may work as well on Cygwin. If so, combine the two conditional blocks.
-		sleep 5;
-		echo "Waiting for MATLAB to exit"
-		pid=$(ps -W | grep MATLAB | awk '{print $1}')
-		echo '-----------------------------'
-		echo "pid: ${pid}"
-		echo '-----------------------------'
-		while [ -n "${pid}" ]; do
-			pid=$(ps -W | grep MATLAB | awk '{print $1}')
-			sleep 1;
-		done
 	else
 		wait
 	fi
 
-	# Concatenate logs
-	cd $ISSM_DIR/nightlylog
+	#concatenate reports
+	cd $ISSM_DIR/nightlylog/
+	#echo 'CHECKING NIGHTLYLOG DIRECTORY'
+	#echo '-----------------------------'
+	#ls -la
+	#echo '-----------------------------'
 
 	if [ -f matlab_log.log ]; then
@@ -376,5 +368,5 @@
 
 	for job in `jobs -p`; do
-		#echo "Waiting on: ${job}" # Commented out because it really has nothing to do with MATLAB processes
+		echo "Waiting on: $job"
 		wait $job
 	done
@@ -395,5 +387,5 @@
 if [ $PYTHON_TEST -eq 1 ]; then
 	#Launch all tests on different cpus
-	export PYTHONPATH="${ISSM_DIR}/src/m/dev"
+	export PYTHONPATH="$ISSM_DIR/src/m/dev"
 	export PYTHONSTARTUP="${PYTHONPATH}/devpath.py"
 	export PYTHONUNBUFFERED=1 #we don't want python to buffer otherwise issm.exe output is not captured
@@ -406,6 +398,6 @@
 	done
 
-	# Concatenate logs
-	cd $ISSM_DIR/nightlylog
+	# concatenate reports
+	cd $ISSM_DIR/nightlylog/
 	if [ -f python_log.log ]; then
 		rm python_log.log
@@ -414,5 +406,5 @@
 	for job in `jobs -p`
 	do
-		echo "Waiting on: ${job}"
+		echo "Waiting on: $job"
 		wait $job
 	done
@@ -437,5 +429,5 @@
 # }}}
 
-# Process logs to be JUnit compatible
+#process logs to be junit compatible
 #{{{
 cd $ISSM_DIR/nightlylog
Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 26035)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 26036)
@@ -31,5 +31,5 @@
 		PACKAGE_DATE="unknown"
 	fi
-	AC_DEFINE_UNQUOTED([PACKAGE_BUILD_DATE], "${PACKAGE_DATE}", [build date])
+	AC_DEFINE_UNQUOTED(PACKAGE_BUILD_DATE, "$PACKAGE_DATE", [build date])
 	AC_MSG_RESULT([${PACKAGE_DATE}])
 
@@ -46,5 +46,5 @@
 		fi
 	fi
-	AC_DEFINE_UNQUOTED([USER_NAME], "${user_name}", [user name])
+	AC_DEFINE_UNQUOTED(USER_NAME, "$user_name", [user name])
 	AC_MSG_RESULT([${user_name}])
 
@@ -55,13 +55,13 @@
 		linux-gnu* | lignux* )	host_os=linux ;;
 	esac
-	AC_DEFINE_UNQUOTED([HOST_OS], "${host_os}", [host full OS name and version])
+	AC_DEFINE_UNQUOTED(HOST_OS, "$host_os", [host full OS name and version])
 	AC_MSG_RESULT([${host_os}])
 
 	AC_MSG_CHECKING([host cpu])
-	AC_DEFINE_UNQUOTED([HOST_CPU], "${host_cpu}", [host CPU])
+	AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [host CPU])
 	AC_MSG_RESULT([${host_cpu}])
 
 	AC_MSG_CHECKING([vendor])
-	AC_DEFINE_UNQUOTED([HOST_VENDOR], "${host_vendor}", [host vendor])
+	AC_DEFINE_UNQUOTED(HOST_VENDOR, "$host_vendor", [host vendor])
 	AC_MSG_RESULT([${host_vendor}])
 
@@ -73,5 +73,5 @@
 		linux-gnu* | lignux* )	host_os_name=linux ;;
 	esac
-	AC_DEFINE_UNQUOTED([HOST_OS_NAME], "${host_os_name}", [host OS name])
+	AC_DEFINE_UNQUOTED(HOST_OS_NAME, "$host_os_name", [host OS name])
 	AC_MSG_RESULT([${host_os_name}])
 
@@ -82,5 +82,5 @@
 		host_os_version=`(uname -r) 2>/dev/null` || host_os_version=unknown
 	fi
-	AC_DEFINE_UNQUOTED([HOST_OS_VERSION], "${host_os_version}", [host OS version])
+	AC_DEFINE_UNQUOTED(HOST_OS_VERSION, "$host_os_version", [host OS version])
 	AC_MSG_RESULT([${host_os_version}])
 
@@ -95,5 +95,5 @@
 		i?86 )	host_arch=i386 ;; # all x86 should show up as i386
 	esac
-	AC_DEFINE_UNQUOTED([HOST_ARCH], "${host_arch}", [host archictecture])
+	AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_arch", [host archictecture])
 	AC_MSG_RESULT([${host_arch}])
 
@@ -219,8 +219,7 @@
 		AC_MSG_RESULT([no])
 	fi
-	AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], ${SYSTEM_FMEMOPEN}, [does system copy of libc have fmemopen])
+	AC_DEFINE_UNQUOTED([_SYSTEM_HAS_FMEMOPEN_], $SYSTEM_FMEMOPEN, [does system copy of libc have fmemopen])
 	AM_CONDITIONAL([SYSTEM_HAS_FMEMOPEN], [test "${SYSTEM_FMEMOPEN}" == "1"])
 
-	IS_MSYS2=no
 	IS_WINDOWS=no
 	AC_MSG_CHECKING([for vendor compilers])
@@ -319,32 +318,18 @@
 			export CFLAGS="-g -O3 -ipo -axAVX -ipo -no-inline-min-size -inline-max-size=345 -no-inline-max-total-size -no-inline-max-per-routine -no-inline-max-per-compile -restrict"
 			AC_DEFINE([_HAVE_RESTRICT_], [1], [with restrict buffers])
-		elif test "${VENDOR}" == "win-msys2"; then
-			export LDFLAGS="${LDFLAGS} -no-undefined"
-			export OSLIBS="-Wl,-L/mingw64/lib/gcc/x86_64-w64-mingw32/10.2.0 -Wl,-L/mingw64/x86_64-w64-mingw32/lib -Wl,-lstdc++ -Wl,-lgfortran -Wl,-lmingw32 -Wl,-lgcc_s -Wl,-lmoldname -Wl,-lmingwex -Wl,-lmsvcrt -Wl,-lm -Wl,-lpthread -Wl,-lshell32 -Wl,-luser32 -Wl,-lgdi32 -Wl,-luser32 -Wl,-ladvapi32 -Wl,-lkernel32 -Wl,-lquadmath -Wl,-lstdc++ -Wl,-lgcc"
-			IS_MSYS2=yes
 		else
 			AC_MSG_ERROR([unknown compiler vendor!])
 		fi
 	fi
-	dnl Set default standard for C++
-	if test "${CXXFLAGS}" == ""; then
-		export CXXFLAGS="-std=C++11"
-	fi
 	AC_SUBST([OSLIBS])
 	AC_MSG_RESULT([done])
 
-	AC_MSG_CHECKING([if this is a MSVC (Windows) build])
+	AC_MSG_CHECKING([if this is a Windows build])
 	AM_CONDITIONAL([WINDOWS], [test "x${IS_WINDOWS}" == "xyes"])
 	AC_MSG_RESULT([${IS_WINDOWS}])
-
-	AC_MSG_CHECKING([if this is a MSYS2 (Windows) build])
-	AM_CONDITIONAL([MSYS2], [test "x${IS_MSYS2}" == "xyes"])
-	AC_MSG_RESULT([${IS_MSYS2}])
-	AC_DEFINE([_IS_MSYS2_], [1], [is a MSYS2 (Windows) build])
 	dnl }}}
 	dnl MATLAB{{{
 
 	dnl See if MATLAB has been provided
-	AC_MSG_CHECKING([for MATLAB])
 	AC_ARG_WITH(
 		[matlab-dir],														dnl feature
@@ -353,4 +338,5 @@
 		[MATLAB_ROOT="no"]													dnl action if not given
 	)
+	AC_MSG_CHECKING([for MATLAB])
 	if test "x${MATLAB_ROOT}" == "xno"; then
 		HAVE_MATLAB=no
@@ -371,5 +357,5 @@
 		AC_DEFINE([_HAVE_MATLAB_], [1], [with MATLAB in ISSM src])
 
-		dnl Set MEX* variable
+		dnl Set MEXLIB, MEXLINK, and MEXEXT
 		AC_MSG_CHECKING([MATLAB's mex compilation flags])
 
@@ -381,47 +367,24 @@
 				if test "${VENDOR}" == "intel-win7-32"; then
 					MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
-					MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
+					MEXLINK="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win32/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
 					MEXEXT=`${MATLAB_ROOT}/bin/mexext.bat`
 					MEXEXT=".${MEXEXT}"
 				elif test "${VENDOR}" == "intel-win7-64"; then
 					MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
-					MEXLINKFLAGS="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
+					MEXLINK="-Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
 					MEXEXT=".mexw64"
 				elif test "${VENDOR}" == "MSVC-Win64" || test "${VENDOR}" == "MSVC-Win64-par"; then
 					MEXLIB="-Wl,libmx.lib -Wl,libmex.lib -Wl,libmat.lib ${OSLIBS} -Wl,libf2cblas.lib -Wl,libf2clapack.lib"
-					MEXLINKFLAGS="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
+					MEXLINK="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${MATLAB_ROOT}/extern/lib/win64/microsoft` -Wl,/link -Wl,/EXPORT:mexFunction -Wl,/DLL"
 					MATLABINCL="-I`cygpath -m ${MATLAB_ROOT}/extern/include`"
 					MEXEXT=".mexw64"
 				fi
 			;;
-			*mingw*)
-				if test "${IS_MSYS2}" == "yes"; then
-					dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat
-					MEXEXT=".mexw64"
-					MATLABINCL="-I${MATLAB_ROOT}/extern/include"
-					MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g"
-					MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE"
-					MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE"
-					MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def"
-					MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64"
-					MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas"
-				fi
-			;;
-			*msys*)
-				dnl Value to set MEXEXT to can be found on Windows by running $MATLAB_ROOT/bin/mexext.bat
-				MEXEXT=".mexw64"
+			*)
 				MATLABINCL="-I${MATLAB_ROOT}/extern/include"
-				MEXOPTFLAGS="-O2 -fwrapv -DNDEBUG -g"
-				MEXCFLAGS="-fexceptions -fno-omit-frame-pointer -m64 -DMATLAB_MEX_FILE"
-				MEXCXXFLAGS="-fexceptions -fno-omit-frame-pointer -std=c++11 -m64 -DMATLAB_MEX_FILE"
-				MEXLINKFLAGS="-m64 -Wl,--no-undefined -shared -static -Wl,${MATLAB_ROOT}/extern/lib/win64/mingw64/mexFunction.def"
-				MEXLIB_DIR="${MATLAB_ROOT}/extern/lib/win64/mingw64"
-				MEXLIB="-L${MEXLIB_DIR} -lmx -lmex -lmat -lm -lmwlapack -lmwblas"
-			;;
-			*)
+				MEXLINK=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/         LDFLAGS            = //g")
+				MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/         CXXLIBS            = //g")
 				MEXEXT=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/         LDEXTENSION        = //g")
-				MATLABINCL="-I${MATLAB_ROOT}/extern/include"
-				MEXLINKFLAGS=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep LDFLAGS | sed -e "s/         LDFLAGS            = //g")
-				MEXLIB=$(${MATLAB_ROOT}/bin/mex -v 2>&1 < /dev/null | grep CXXLIBS | sed -e "s/         CXXLIBS            = //g")
+				dnl version 2014 and up
 				if test -z "${MEXEXT}"; then
 					echo "#include <mex.h>" > conftest.cpp
@@ -429,5 +392,5 @@
 					${MATLAB_ROOT}/bin/mex -v -lmex conftest.cpp > conftest.tmp 2>&1
 					rm -f conftest.cpp
-					MEXLINKFLAGS=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")
+					MEXLINK=$(cat conftest.tmp | grep LDFLAGS | sed -e "s/LDFLAGS ://g")
 					MEXLIB=$(cat conftest.tmp | grep LINKLIBS | sed -e "s/LINKLIBS ://g")
 					MEXEXT=$(cat conftest.tmp | grep LDEXT | sed -e "s/LDEXT ://g" | awk '{print $[1]}')
@@ -439,6 +402,6 @@
 
 				dnl Make sure mexFunction.map is not in MEXLIB to avoid problems with global variables
-				dnl MEXLINKFLAGS=$(echo ${MEXLINKFLAGS} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g")
-				MEXLINKFLAGS="" dnl We actually don't need MEXLINK????
+				dnl MEXLINK=$(echo ${MEXLINK} | sed -e "s/,-expo.*mexFunction\\.map\"//g" | sed -e "s/-[[^ ]]*mexFunction\\.map//g")
+				MEXLINK="" dnl We actually don't need MEXLINK????
 			;;
 		esac
@@ -448,15 +411,12 @@
 		fi
 
-		AC_SUBST([MEXEXT])
-		AC_SUBST([MEXOPTFLAGS])
-		AC_SUBST([MEXCFLAGS])
-		AC_SUBST([MEXCXXFLAGS])
 		AC_SUBST([MATLABINCL])
-		AC_SUBST([MEXLINKFLAGS])
+		MATLABWRAPPEREXT=${MEXEXT}
+		AC_SUBST([MATLABWRAPPEREXT])
 		AC_SUBST([MEXLIB])
+		AC_SUBST([MEXLINK])
 	fi
 	dnl }}}
 	dnl JavaScript{{{
-	AC_MSG_CHECKING([for JavaScript])
 	AC_ARG_WITH(
 		[javascript],
@@ -465,4 +425,5 @@
 		[JAVASCRIPT="no"]
 	)
+	AC_MSG_CHECKING([for JavaScript])
 	if test "x${JAVASCRIPT}" == "xno"; then
 		HAVE_JAVASCRIPT=no
@@ -477,5 +438,4 @@
 	dnl }}}
 	dnl Triangle {{{
-	AC_MSG_CHECKING([for triangle])
 	AC_ARG_WITH(
 		[triangle-dir],
@@ -484,4 +444,5 @@
 		[TRIANGLE_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for triangle])
 	if test "x${TRIANGLE_ROOT}" == "xno"; then
 		HAVE_TRIANGLE=no
@@ -522,20 +483,4 @@
 				fi
 			;;
-			*mingw*)
-				if test "x${HAVE_JAVASCRIPT}" == "xyes"; then
-					dnl Link to the object file, not the library
-					TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o
-				else
-					TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle"
-				fi
-			;;
-			*msys*)
-				if test "x${HAVE_JAVASCRIPT}" == "xyes"; then
-					dnl Link to the object file, not the library
-					TRIANGLELIB=${TRIANGLE_ROOT}/share/triangle.o
-				else
-					TRIANGLELIB="-L${TRIANGLE_ROOT}/lib -ltriangle"
-				fi
-			;;
 		esac
 		AC_DEFINE([_HAVE_TRIANGLE_], [1], [with Triangle in ISSM src])
@@ -545,5 +490,4 @@
 	dnl }}}
 	dnl Boost{{{
-	AC_MSG_CHECKING([for Boost])
 	AC_ARG_WITH(
 		[boost-dir],
@@ -552,4 +496,5 @@
 		[BOOST_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for Boost])
 	if test "x${BOOST_ROOT}" == "xno"; then
 		HAVE_BOOST=no
@@ -578,5 +523,4 @@
 	dnl }}}
 	dnl Dakota{{{
-	AC_MSG_CHECKING([for Dakota])
 	AC_ARG_WITH(
 		[dakota-dir],
@@ -585,4 +529,5 @@
 		[DAKOTA_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for Dakota])
 	if test "x${DAKOTA_ROOT}" == "xno"; then
 		HAVE_DAKOTA=no
@@ -602,5 +547,5 @@
 		AC_MSG_CHECKING(for Dakota version)
 		dnl TODO:	Check if this method applies to all other versions of 
-		dnl			Dakota (it should as long as the Dakota binaries have been 
+		dnl			Dakota (it should as long as the Dakota binaries have been
 		dnl 		compiled). If so, we can remove the other methods of 
 		dnl			getting the version.
@@ -619,5 +564,5 @@
 		fi
 		AC_MSG_RESULT([${DAKOTA_VERSION}])
-		AC_DEFINE_UNQUOTED([_DAKOTA_VERSION_], ${DAKOTA_VERSION}, [Dakota version number])
+		AC_DEFINE_UNQUOTED(_DAKOTA_VERSION_, "${DAKOTA_VERSION}", [Dakota version number])
 
 		DAKOTAFLAGS=""
@@ -734,11 +679,11 @@
 		AC_MSG_CHECKING(for Dakota major version)
 		AC_MSG_RESULT(${DAKOTA_MAJOR})
-		AC_DEFINE_UNQUOTED([_DAKOTA_MAJOR_], ${DAKOTA_MAJOR}, [Dakota major version number])
+		AC_DEFINE_UNQUOTED(_DAKOTA_MAJOR_, $DAKOTA_MAJOR, [Dakota major version number])
 		AC_MSG_CHECKING(for Dakota minor version)
 		AC_MSG_RESULT(${DAKOTA_MINOR})
-		AC_DEFINE_UNQUOTED([_DAKOTA_MINOR_], ${DAKOTA_MINOR}, [Dakota minor version number])
+		AC_DEFINE_UNQUOTED(_DAKOTA_MINOR_, $DAKOTA_MINOR, [Dakota minor version number])
 		AC_MSG_CHECKING(for Dakota build version)
 		AC_MSG_RESULT(${DAKOTA_BUILD})
-		AC_DEFINE_UNQUOTED([_DAKOTA_BUILD_], ${DAKOTA_BUILD}, [Dakota build version number])
+		AC_DEFINE_UNQUOTED(_DAKOTA_BUILD_, $DAKOTA_BUILD, [Dakota build version number])
 
 		AC_DEFINE([_HAVE_DAKOTA_], [1], [with Dakota in ISSM src])
@@ -750,5 +695,4 @@
 	dnl }}}
 	dnl Python{{{
-	AC_MSG_CHECKING([for Python])
 	AC_ARG_WITH(
 		[python-dir],
@@ -764,4 +708,5 @@
 		[PYTHON_VERSION="no"]
 	)
+	AC_MSG_CHECKING([for Python])
 	if test "x${PYTHON_ROOT}" == "xno"; then
 		HAVE_PYTHON=no
@@ -790,5 +735,5 @@
 		dnl Determine major version
 		PYTHON_MAJOR=${PYTHON_VERSION%.*}
-		AC_DEFINE_UNQUOTED([_PYTHON_MAJOR_], ${PYTHON_MAJOR}, [Python version major])
+		AC_DEFINE_UNQUOTED(_PYTHON_MAJOR_, $PYTHON_MAJOR, [Python version major])
 		if test "x${PYTHON_MAJOR}" == "x3"; then
 			HAVE_PYTHON3="yes"
@@ -806,5 +751,5 @@
 			PYTHONINCL=-I${PYTHON_ROOT}/include/python${PYTHON_VERSION}m
 		else
-			AC_MSG_ERROR([Python.h not found! Please locate this file and contact ISSM developers via forum or email.]);
+			AC_MSG_ERROR([Python.h not found, locate this file and contact ISSM developers]);
 		fi
 		AC_MSG_RESULT([found])
@@ -819,15 +764,9 @@
 				PYTHONLINK="-shared"
 			;;
+			*linux*)
+				PYTHONLINK="-shared"
+			;;
 			*darwin*)
 				PYTHONLINK="-dynamiclib"
-			;;
-			*linux*)
-				PYTHONLINK="-shared"
-			;;
-			*mingw*)
-				PYTHONLINK="-shared"
-			;;
-			*msys*)
-				PYTHONLINK="-shared"
 			;;
 		esac
@@ -842,4 +781,15 @@
 	dnl }}}
 	dnl NumPy{{{
+	dnl TODO:
+	dnl - Replace references to python-numpy with numpy (and similar terms)
+	dnl	  project-wide
+	dnl
+	AC_ARG_WITH(
+		[python-numpy-dir],
+		AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]),
+		[PYTHON_NUMPY_ROOT=${withval}],
+		[PYTHON_NUMPY_ROOT="no"]
+	)
+
 	dnl NOTE: You can find NumPy by running,
 	dnl
@@ -847,15 +797,6 @@
 	dnl		>>> numpy.__file__
 	dnl
-	dnl TODO:
-	dnl - Replace references to python-numpy with numpy (and similar terms)
-	dnl	  project-wide
-	dnl
+
 	AC_MSG_CHECKING(for python-numpy)
-	AC_ARG_WITH(
-		[python-numpy-dir],
-		AS_HELP_STRING([--with-python-numpy-dir=DIR], [python-numpy root directory]),
-		[PYTHON_NUMPY_ROOT=${withval}],
-		[PYTHON_NUMPY_ROOT="no"]
-	)
 	if test "x${PYTHON_NUMPY_ROOT}" == "xno"; then
 		HAVE_PYTHON_NUMPY=no
@@ -876,5 +817,4 @@
 	dnl }}}
 	dnl Chaco{{{
-	AC_MSG_CHECKING([for Chaco])
 	AC_ARG_WITH(
 		[chaco-dir],
@@ -883,4 +823,5 @@
 		[CHACO_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for Chaco])
 	if test "x${CHACO_ROOT}" == "xno"; then
 		HAVE_CHACO=no
@@ -904,5 +845,4 @@
 	dnl }}}
 	dnl ESMF{{{
-	AC_MSG_CHECKING([for ESMF])
 	AC_ARG_WITH(
 		[esmf-dir],
@@ -911,4 +851,5 @@
 		[ESMF_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for ESMF])
 	if test "x${ESMF_ROOT}" == "xno"; then
 		HAVE_ESMF=no
@@ -932,5 +873,4 @@
 	dnl }}}
 	dnl CoDiPack{{{
-	AC_MSG_CHECKING([for CoDiPack])
 	AC_ARG_WITH(
 		[codipack-dir],
@@ -939,4 +879,5 @@
 		[CODIPACK_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for CoDiPack])
 	if test "x${CODIPACK_ROOT}" == "xno"; then
 		HAVE_CODIPACK=no
@@ -960,5 +901,4 @@
 	dnl }}}
 	dnl Tape Allocation {{{
-	AC_MSG_CHECKING(for tape allocation)
 	AC_ARG_ENABLE(
 		[tape-alloc],																dnl feature
@@ -967,4 +907,5 @@
 		[enable_tape_alloc=no]
 	)
+	AC_MSG_CHECKING(for tape allocation)
 	if test "x${enable_tape_alloc}" == "xyes"; then
 		AC_DEFINE([_AD_TAPE_ALLOC_], [1], [enable a priori tape allocation for AD])
@@ -973,5 +914,4 @@
 	dnl }}}
 	dnl ADOL-C {{{
-	AC_MSG_CHECKING([for ADOL-C])
 	AC_ARG_WITH(
 		[adolc-dir],
@@ -980,4 +920,5 @@
 		[ADOLC_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for ADOL-C])
 	if test "x${ADOLC_ROOT}" == "xno"; then
 		HAVE_ADOLC=no
@@ -1004,5 +945,4 @@
 	dnl }}}
 	dnl ADOL-C version{{{
-	AC_MSG_CHECKING(for ADOL-C version)
 	AC_ARG_WITH(
 		[adolc-version],
@@ -1011,9 +951,10 @@
 		[ADOLC_VERSION=2]
 	)
-	AC_DEFINE_UNQUOTED([_ADOLC_VERSION_], ${ADOLC_VERSION}, [ADOL-C version])
+	AC_MSG_CHECKING(for ADOL-C version)
+
+	AC_DEFINE_UNQUOTED(_ADOLC_VERSION_, $ADOLC_VERSION, [ADOL-C version])
 	AC_MSG_RESULT(${ADOLC_VERSION})
 	dnl }}}
 	dnl ADIC2 {{{
-	AC_MSG_CHECKING([for ADIC2])
 	AC_ARG_WITH(
 		[adic2-dir],
@@ -1022,4 +963,5 @@
 		[ADIC2_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for ADIC2])
 	if test "x${ADIC2_ROOT}" == "xno"; then
 		HAVE_ADIC2=no
@@ -1043,5 +985,4 @@
 	dnl }}}
 	dnl ATLAS {{{
-	AC_MSG_CHECKING(for ATLAS and CBLAS libraries)
 	AC_ARG_WITH(
 		[atlas-dir],
@@ -1050,4 +991,5 @@
 		[ATLAS_ROOT="no"]
 	)
+	AC_MSG_CHECKING(for ATLAS and CBLAS libraries)
 	if test "x${ATLAS_ROOT}" == "xno"; then
 		HAVE_ATLAS=no
@@ -1066,15 +1008,9 @@
 				ATLASLIB="-L`cygpath -m ${ATLAS_ROOT}` -Wl,libatlas.lib  -Wl,libcblas.lib"
 			;;
+			*linux*)
+				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm "
+			;;
 			*darwin*)
-				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm"
-			;;
-			*linux*)
-				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm"
-			;;
-			*mingw*)
-				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm"
-			;;
-			*msys*)
-				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm"
+				ATLASLIB="-L${ATLAS_ROOT}/lib -lcblas -latlas -lm "
 			;;
 		esac
@@ -1084,5 +1020,4 @@
 	dnl }}}
 	dnl GSL{{{
-	AC_MSG_CHECKING([for GSL])
 	AC_ARG_WITH(
 		[gsl-dir],
@@ -1091,4 +1026,5 @@
 		[GSL_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for GSL])
 	if test "x${GSL_ROOT}" == "xno"; then
 		HAVE_GSL=no
@@ -1116,5 +1052,4 @@
 	dnl }}}
 	dnl AMPI (ADOL-C){{{
-	AC_MSG_CHECKING([for AMPI])
 	AC_ARG_WITH(
 		[ampi-dir],
@@ -1123,4 +1058,5 @@
 		[AMPI_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for AMPI])
 	if test "x${AMPI_ROOT}" == "xno"; then
 		HAVE_AMPI=no
@@ -1152,5 +1088,4 @@
 	dnl }}}
 	dnl Adjoint MPI (CoDiPack){{{
-	AC_MSG_CHECKING([for Adjoint MPI])
 	AC_ARG_WITH(
 		[adjointmpi-dir],
@@ -1159,4 +1094,5 @@
 		[ADJOINTMPI_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for Adjoint MPI])
 	if test "x${ADJOINTMPI_ROOT}" == "xno"; then
 		HAVE_ADJOINTMPI=no
@@ -1186,5 +1122,4 @@
 	dnl }}}
 	dnl MeDiPack (CoDiPack, ADOL-C dev){{{
-	AC_MSG_CHECKING([for MeDiPack])
 	AC_ARG_WITH(
 		[medipack-dir],
@@ -1193,4 +1128,5 @@
 		[MEDIPACK_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for MeDiPack])
 	if test "x${MEDIPACK_ROOT}" == "xno"; then
 		HAVE_MEDIPACK=no
@@ -1218,5 +1154,4 @@
 	dnl }}}
 	dnl HDF5 {{{
-	AC_MSG_CHECKING(for HDF5 libraries)
 	AC_ARG_WITH(
 		[hdf5-dir],
@@ -1225,4 +1160,5 @@
 		[HDF5_ROOT="no"]
 	)
+	AC_MSG_CHECKING(for HDF5 libraries)
 	if test "x${HDF5_ROOT}" == "xno"; then
 		HAVE_HDF5=no
@@ -1245,14 +1181,8 @@
 				HDF5LIB="-L`cygpath -m ${HDF5_ROOT}` -Wl,libhdf5.lib  -Wl,libhdf5_hl.lib"
 			;;
-			*darwin*)
-				HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
-			;;
 			*linux*)
 				HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
 			;;
-			*mingw*)
-				HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
-			;;
-			*msys*)
+			*darwin*)
 				HDF5LIB="-L${HDF5_ROOT}/lib -lhdf5 -lhdf5_hl"
 			;;
@@ -1263,5 +1193,4 @@
 	dnl }}}
 	dnl PETSc{{{
-	AC_MSG_CHECKING([for PETSc])
 	AC_ARG_WITH(
 		[petsc-dir],
@@ -1270,4 +1199,5 @@
 		[PETSC_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for PETSc])
 	if test "x${PETSC_ROOT}" == "xno"; then
 		HAVE_PETSC=no
@@ -1290,6 +1220,6 @@
 		PETSC_MAJOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MAJOR" | sed 's/#define PETSC_VERSION_MAJOR//' | sed 's/ //g'`
 		PETSC_MINOR=`cat ${PETSC_ROOT}/include/petscversion.h | grep "#define PETSC_VERSION_MINOR" | sed 's/#define PETSC_VERSION_MINOR//' | sed 's/ //g'`
-		AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], ${PETSC_MAJOR}, [PETSc version major])
-		AC_DEFINE_UNQUOTED([_PETSC_MINOR_], ${PETSC_MINOR}, [PETSc version minor])
+		AC_DEFINE_UNQUOTED([_PETSC_MAJOR_], [$PETSC_MAJOR], [PETSc version major])
+		AC_DEFINE_UNQUOTED([_PETSC_MINOR_], [$PETSC_MINOR], [PETSc version minor])
 		AC_MSG_RESULT([${PETSC_MAJOR}.${PETSC_MINOR}])
 
@@ -1332,14 +1262,4 @@
 					PETSCLIB="/link -Wl,/LIBPATH:`cygpath -m ${PETSC_ROOT}/lib` -Wl,libpetsc.lib"
 					PETSCINCL="/I`cygpath -m ${PETSC_ROOT}/include`"
-				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
 			;;
@@ -1360,9 +1280,13 @@
 				fi
 			;;
-			*mingw*)
-				PETSCLIB="-Wl,${PETSC_ROOT}/lib/libpetsc.a"
-			;;
-			*msys*)
-				PETSCLIB="${PETSC_ROOT}/lib -lpetsc"
+			*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
@@ -1375,4 +1299,5 @@
 	dnl MPI{{{
 	AC_MSG_CHECKING(for MPI)
+
 	AC_ARG_WITH(
 		[mpi-include],
@@ -1381,4 +1306,5 @@
 		[MPI_INCLUDE=""]
 	)
+
 	AC_ARG_WITH(
 		[mpi-libdir],
@@ -1387,4 +1313,5 @@
 		[MPI_LIBDIR=""]
 	)
+
 	AC_ARG_WITH(
 		[mpi-libflags],
@@ -1393,4 +1320,5 @@
 		[MPI_LIBFLAGS=""]
 	)
+
 	if test -z "${MPI_INCLUDE}"; then
 		HAVE_MPI=no
@@ -1435,5 +1363,4 @@
 	dnl }}}
 	dnl SCOTCH{{{
-	AC_MSG_CHECKING([for SCOTCH])
 	AC_ARG_WITH(
 		[scotch-dir],
@@ -1442,4 +1369,5 @@
 		[SCOTCH_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SCOTCH])
 	if test "x${SCOTCH_ROOT}" == "xno"; then
 		HAVE_SCOTCH=no
@@ -1474,136 +1402,82 @@
 	dnl }}}
 	dnl METIS{{{
-	AC_MSG_CHECKING([for METIS])
-	AC_ARG_WITH(
-		[metis-dir],
-		AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]),
-		[METIS_ROOT=${withval}],
-		[METIS_ROOT="no"]
-	)
-	HAVE_METIS=no
-	if test "x${METIS_ROOT}" == "xno"; then
-		dnl Check if METIS was installed via PETSc
-		if test -f ${PETSC_ROOT}/install/include/metis.h; then
+
+	dnl NOTE: We know $VENDOR cannot be empty at this point, so no need to
+	dnl		  check again in the following conditionals
+	dnl
+	if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 3 && test "${VENDOR}" != "MSVC-Win64" && test "${VENDOR}" != "MSVC-Win64-par"; then
+		dnl In PETSc >=3.3, METIS is provided
+		HAVE_METIS="yes"
+		AC_DEFINE([_METIS_VERSION_], [5], [METIS version number])
+		AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src])
+	else
+		AC_ARG_WITH(
+			[metis-dir],
+			AS_HELP_STRING([--with-metis-dir=DIR], [METIS root directory, necessary for serial build]),
+			[METIS_ROOT=${withval}],
+			[METIS_ROOT="no"]
+		)
+		AC_MSG_CHECKING([for METIS])
+		if test "x${METIS_ROOT}" == "xno"; then
+			HAVE_METIS=no
+		else
 			HAVE_METIS=yes
-			METIS_ROOT="${PETSC_ROOT}"
-		fi
-	else
-		if ! test -d "${METIS_ROOT}"; then
-			AC_MSG_ERROR([METIS directory provided (${METIS_ROOT}) does not exist!]);
-		fi
-		HAVE_METIS=yes
-	fi
-	if test "${HAVE_METIS}" = "yes"; then
-		METIS_VERSION=$(grep "#define METIS_VER_MAJOR" ${METIS_ROOT}/include/metis.h | sed 's|.*METIS_VER_MAJOR[[:space:]]*||')
+			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 METIS libraries and header files
-		if test "x${METIS_VERSION}" == "x4"; then
-			METISINCL="-I${METIS_ROOT}/Lib"
-			case "${host_os}" in
-				*cygwin*)
-					METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`"
-					METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib"
-				;;
-				*darwin*)
-					METISLIB="-L${METIS_ROOT} -lmetis"
-				;;
-				*linux*)
-					METISLIB="-L${METIS_ROOT} -lmetis"
-				;;
-				*mingw*)
-					METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a"
-				;;
-				*msys*)
-					METISLIB="-L${METIS_ROOT} -lmetis"
-				;;
-			esac
-		elif test "x${METIS_VERSION}" == "x5"; then
-			METISINCL="-I${METIS_ROOT}/include"
-			case "${host_os}" in
-				*cygwin*)
-					METISLIB="-L${METIS_ROOT} libmetis.lib"
-				;;
-				*darwin*)
-					METISLIB="-L${METIS_ROOT}/lib -lmetis"
-				;;
-				*linux*)
-					METISLIB="-L${METIS_ROOT}/lib -lmetis"
-				;;
-				*mingw*)
-					METISLIB="-Wl,${METIS_ROOT}/lib/libmetis.a"
-				;;
-				*msys*)
-					METISLIB="-L${METIS_ROOT}/lib -lmetis"
-				;;
-			esac
-		else
-			AC_MSG_ERROR([METIS version ${METIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.])
-		fi
-		AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src])
-		AC_DEFINE_UNQUOTED([_METIS_VERSION_], ${METIS_VERSION}, [METIS version number])
-		AC_SUBST([METISINCL])
-		AC_SUBST([METISLIB])
-	fi
-	AC_MSG_RESULT([${HAVE_METIS}])
-	AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" = "xyes"])
-	dnl }}}
-	dnl ParMETIS{{{
-	AC_MSG_CHECKING([for ParMETIS])
-	AC_ARG_WITH(
-		[parmetis-dir],
-		AS_HELP_STRING([--with-parmetis-dir=DIR], [ParMETIS root directory, necessary for parallel build]),
-		[PARMETIS_ROOT=${withval}],
-		[PARMETIS_ROOT="no"]
-	)
-	HAVE_PARMETIS=no
-	if test "x${PARMETIS_ROOT}" == "xno"; then
-		dnl Check if ParMETIS was installed via PETSc
-		if test -f ${PETSC_ROOT}/install/include/parmetis.h; then
-			HAVE_PARMETIS="yes"
-			PARMETIS_ROOT="${PETSC_ROOT}"
-		fi
-	else
-		if ! test -d "${PARMETIS_ROOT}"; then
-			AC_MSG_ERROR([ParMETIS directory provided (${PARMETIS_ROOT}) does not exist!]);
-		fi
-		if ! test -d "${METIS_ROOT}"; then
-			AC_MSG_ERROR([If supplying path to ParMETIS with option --with-parmetis-dir, must also supply path to METIS with option --with-metis-dir]);
-		fi
-		HAVE_PARMETIS="yes"
-	fi
-	if test "${HAVE_PARMETIS}" == "yes"; then
-		#PARMETIS_VERSION=$(grep "#define PARMETIS_MAJOR_VERSION" ${PARMETIS_ROOT}/include/parmetis.h | sed 's|.*PARMETIS_MAJOR_VERSION[[:space:]]*||')
-		dnl METIS libraries and header files
-		#if test "x${PARMETIS_VERSION}" == "x4"; then
-			PARMETISINCL="-I${PARMETIS_ROOT}/include"
-			case "${host_os}" in
-				*cygwin*)
-					PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis"
-				;;
-				*darwin*)
-					PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis"
-				;;
-				*linux*)
-					PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis"
-				;;
-				*mingw*)
-					PARMETISLIB="-Wl,${PARMETIS_ROOT}/lib/libparmetis.a"
-				;;
-				*msys*)
-					PARMETISLIB="-L${PARMETIS_ROOT}/lib -lparmetis"
-				;;
-			esac
-		#else
-		#	AC_MSG_ERROR([ParMETIS version ${PARMETIS_VERSION} not yet supported! Please contact ISSM developers via forum or email.])
-		#fi
-		AC_DEFINE([_HAVE_PARMETIS_], [1], [with ParMETIS in ISSM src])
-		#AC_DEFINE([_PARMETIS_VERSION_], [${PARMETIS_VERSION}], [ParMETIS version number])
-		AC_SUBST([PARMETISINCL])
-		AC_SUBST([PARMETISLIB])
-	fi
-	AC_MSG_RESULT([${HAVE_PARMETIS}])
-	AM_CONDITIONAL([PARMETIS], [test "x${HAVE_PARMETIS}" = "xyes"])
+		if test "x${HAVE_METIS}" == "xyes"; then
+			dnl Retrieve METIS version (does the VERSION file exist?)
+			if test -f "${METIS_ROOT}/VERSION"; then
+				METIS_VERSION=4
+			else
+				METIS_VERSION=5
+			fi
+
+			if test "x${METIS_VERSION}" == "x4"; then
+				METISINCL="-I${METIS_ROOT}/Lib"
+				case "${host_os}" in
+					*cygwin*)
+						METISINCL="/I`cygpath -m ${METIS_ROOT}/Lib`"
+						METISLIB="-Wl,/link -Wl,/LIBPATH:`cygpath -m ${METIS_ROOT}` -Wl,libmetis.lib"
+					;;
+					*linux*)
+						METISLIB="-L${METIS_ROOT} -lparmetis -lmetis"
+					;;
+					*darwin*)
+						METISLIB="-L${METIS_ROOT} -lparmetis -lmetis"
+					;;
+				esac
+				AC_DEFINE([_METIS_VERSION_], [4], [ METIS version number])
+			fi
+
+			if test "x${METIS_VERSION}" == "x5"; then
+				case "${host_os}" in
+					*cygwin*)
+						METISLIB="-L${METIS_ROOT} libmetis.lib"
+					;;
+					*linux*)
+						METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis"
+					;;
+					*darwin*)
+						METISLIB="-L${METIS_ROOT}/lib -lparmetis -lmetis"
+					;;
+				esac
+				METISINCL="-I${METIS_ROOT}/include"
+				AC_DEFINE([_METIS_VERSION_], [5], [METIS version number])
+			fi
+
+			AC_DEFINE([_HAVE_METIS_], [1], [with METIS in ISSM src])
+			AC_SUBST([METISINCL])
+			AC_SUBST([METISLIB])
+		fi
+	fi
+	AM_CONDITIONAL([METIS], [test "x${HAVE_METIS}" == "xyes"])
 	dnl }}}
 	dnl Toolkit for Advanced Optimization (TAO){{{
-	AC_MSG_CHECKING([for TAO])
 	AC_ARG_WITH(
 		[tao-dir],
@@ -1612,4 +1486,6 @@
 		[TAO_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for TAO])
+
 	if test "x${HAVE_PETSC}" == "xyes" && test "x${PETSC_MAJOR}" == "x3" && test ${PETSC_MINOR} -ge 5; then
 		dnl In PETSc >= 3.5, TAO is provided
@@ -1639,5 +1515,4 @@
 	dnl }}}
 	dnl M1QN3{{{
-	AC_MSG_CHECKING([for M1QN3])
 	AC_ARG_WITH(
 		[m1qn3-dir],
@@ -1646,4 +1521,5 @@
 		[M1QN3_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for M1QN3])
 	if test "x${M1QN3_ROOT}" == "xno"; then
 		HAVE_M1QN3=no
@@ -1664,5 +1540,4 @@
 	dnl }}}
 	dnl PROJ{{{
-	AC_MSG_CHECKING([for PROJ])
 	AC_ARG_WITH(
 		[proj-dir],
@@ -1671,4 +1546,5 @@
 		[PROJ_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for PROJ])
 	if test "x${PROJ_ROOT}" == "xno"; then
 		HAVE_PROJ=no
@@ -1692,5 +1568,4 @@
 	dnl }}}
 	dnl SLEPc{{{
-	AC_MSG_CHECKING([for SLEPc])
 	AC_ARG_WITH(
 		[slepc-dir],
@@ -1699,4 +1574,5 @@
 		[SLEPC_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SLEPc])
 	if test "x${SLEPC_ROOT}" == "xno"; then
 		HAVE_SLEPC=no
@@ -1719,5 +1595,4 @@
 	dnl }}}
 	dnl shapelib{{{
-	AC_MSG_CHECKING([for shapelib])
 	AC_ARG_WITH(
 		[shapelib-dir],
@@ -1726,4 +1601,5 @@
 		[SHAPELIB_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for shapelib])
 	if test "x${SHAPELIB_ROOT}" == "xno"; then
 		HAVE_SHAPELIB=no
@@ -1746,7 +1622,6 @@
 	dnl }}}
 	dnl ScaLAPACK{{{
+
 	dnl NOTE: User should supply path to root directory or libraries, but not both
-	dnl
-	AC_MSG_CHECKING([for ScaLAPACK])
 	AC_ARG_WITH(
 		[scalapack-dir],
@@ -1761,4 +1636,5 @@
 		[SCALAPACKLIB="no"]
 	)
+	AC_MSG_CHECKING([for ScaLAPACK])
 	if test "x${SCALAPACK_ROOT}" == "xno" && test "x${SCALAPACKLIB}" == "xno"; then
 		HAVE_SCALAPACK=no
@@ -1769,9 +1645,5 @@
 		fi
 		HAVE_SCALAPACK=yes
-		if test "${VENDOR}" == "win-msys2"; then
-			SCALAPACKLIB="-Wl,${SCALAPACK_ROOT}/lib/libscalapack.a"
-		else
-			SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack"
-		fi
+		SCALAPACKLIB="-L${SCALAPACK_ROOT}/lib -lscalapack"
 	elif test "x${SCALAPACKLIB}" != "xno"; then
 		dnl Value of SCALAPACKLIB should be valid here, so no need to set it (as above)
@@ -1789,17 +1661,4 @@
 	dnl }}}
 	dnl BLAS/LAPACK{{{
-	AC_MSG_CHECKING([for BLAS/LAPACK])
-	AC_ARG_WITH(
-		[blas-dir],
-		[AS_HELP_STRING([--with-blas-dir=DIR], [BLAS root directory])],
-		[BLAS_ROOT=$withval],
-		[BLAS_ROOT="no"]
-	)
-	AC_ARG_WITH(
-		[lapack-dir],
-		[AS_HELP_STRING([--with-lapack-dir=DIR], [LAPACK root directory])],
-		[LAPACK_ROOT=$withval],
-		[LAPACK_ROOT="no"]
-	)
 	AC_ARG_WITH(
 		[blas-lapack-dir],
@@ -1808,12 +1667,11 @@
 		[BLASLAPACK_ROOT="no"]
 	)
-	if (test "x${BLAS_ROOT}" = "xno" || test "x${LAPACK_ROOT}" = "xno") && test "x${BLASLAPACK_ROOT}" = "xno"; then
+	AC_MSG_CHECKING([for BLAS/LAPACK])
+	if test "x${BLASLAPACK_ROOT}" == "xno" ; then
 		HAVE_BLASLAPACK=no
 	else
 		HAVE_BLASLAPACK=yes
-		if ! test -d "${BLAS_ROOT}" || ! test -d "${LAPACK_ROOT}"; then
-			if ! test -d "${BLASLAPACK_ROOT}"; then
-				AC_MSG_ERROR([Use either --with-blas-dir and --with-lapack-dir *or* --with-blaslapack-dir]);
-			fi
+		if ! test -d "${BLASLAPACK_ROOT}"; then
+			AC_MSG_ERROR([BLAS/LAPACK directory provided (${BLASLAPACK_ROOT}) does not exist!]);
 		fi
 	fi
@@ -1822,4 +1680,5 @@
 	dnl BLAS/LAPACK libraries and header files
 	if test "x${HAVE_BLASLAPACK}" == "xyes"; then
+		BLASLAPACKINCL=""
 		case "${host_os}" in
 			*cygwin*)
@@ -1850,42 +1709,11 @@
 				fi
 			;;
-			*mingw*)
-				if test -d "${BLASLAPACK_ROOT}"; then
-					BLASLAPACKLIB="-L${BLASLAPACK_ROOT}/lib"
-					if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB+=" -lopenblas"
-					elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB+=" -lf2clapack -lf2cblas"
-					elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB="-Wl,${BLASLAPACK_ROOT}/lib/libflapack.a -Wl,${BLASLAPACK_ROOT}/lib/libfblas.a"
-					else
-						BLASLAPACKLIB+=" -llapack -lblas"
-					fi
-				else
-					BLASLAPACKLIB="-Wl,${LAPACK_ROOT}/lib/liblapack.a -Wl,${BLAS_ROOT}/lib/libblas.a"
-				fi
-			;;
-			*msys*)
-				if test -d "${BLASLAPACK_ROOT}"; then
-					if ls ${BLASLAPACK_ROOT}/lib/libopenblas.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB=" -lopenblas"
-					elif ls ${BLASLAPACK_ROOT}/lib/libf2clapack.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB=" -lf2clapack -lf2cblas"
-					elif ls ${BLASLAPACK_ROOT}/lib/libflapack.* 1> /dev/null 2>&1; then
-						BLASLAPACKLIB+=" -lflapack -lfblas"
-					else
-						BLASLAPACKLIB=" -llapack -lblas"
-					fi
-				else
-					BLASLAPACKLIB="-L${LAPACK_ROOT}/lib -llapack -L${BLAS_ROOT}/lib -lblas"
-				fi
-			;;
 		esac
 		AC_DEFINE([_HAVE_BLASLAPACK_], [1], [with BLAS/LAPACK in ISSM src])
 		AC_SUBST([BLASLAPACKLIB])
+		AC_SUBST([BLASLAPACKINCL])
 	fi
 	dnl }}}
 	dnl Math Kernel Library (MKL){{{
-	AC_MSG_CHECKING([for MKL])
 	AC_ARG_WITH(
 		[mkl-libflags],
@@ -1894,4 +1722,5 @@
 		[MKL_LIBFLAGS="no"]
 	)
+	AC_MSG_CHECKING([for MKL])
 	if test "x${MKL_LIBFLAGS}" == "xno"; then
 		HAVE_MKL=no
@@ -1906,4 +1735,5 @@
 	dnl }}}
 	dnl PlaLAPACK{{{
+
 	dnl TODO: 	Handle user supplying path to root directory *or* individual
 	dnl 		arguments (like ScaLAPACK)
@@ -1940,5 +1770,4 @@
 	dnl }}}
 	dnl MUMPS{{{
-	AC_MSG_CHECKING([for MUMPS])
 	AC_ARG_WITH(
 		[mumps-dir],
@@ -1947,4 +1776,5 @@
 		[MUMPS_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for MUMPS])
 	if test "x${MUMPS_ROOT}" == "xno"; then
 		HAVE_MUMPS=no
@@ -1961,6 +1791,6 @@
 		MUMPSINCL="-I${MUMPS_ROOT}/include"
 		if test "x${MUMPS_ROOT}" == "x${PETSC_ROOT}"; then
-			if test "${VENDOR}" == "win-msys2"; then
-				MUMPSLIB="-Wl,${MUMPS_ROOT}/lib/libcmumps.a -Wl,${MUMPS_ROOT}/lib/libdmumps.a -Wl,${MUMPS_ROOT}/lib/libsmumps.a -Wl,${MUMPS_ROOT}/lib/libzmumps.a -Wl,${MUMPS_ROOT}/lib/libmumps_common.a -Wl,${MUMPS_ROOT}/lib/libpord.a"
+			if test "x${PETSC_MAJOR}" == "x2"; then
+				MUMPSLIB="-L${MUMPS_ROOT}/lib "
 			else
 				MUMPSLIB="-L${MUMPS_ROOT}/lib -ldmumps -lcmumps -lmumps_common -lpord -lparmetis -lzmumps -lmetis"
@@ -2011,5 +1841,4 @@
 	dnl }}}
 	dnl BLACS{{{
-	AC_MSG_CHECKING([for BLACS])
 	AC_ARG_WITH(
 		[blacs-dir],
@@ -2018,4 +1847,5 @@
 		[BLACS_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for BLACS])
 	if test "x${BLACS_ROOT}" == "xno"; then
 		HAVE_BLACS=no
@@ -2038,5 +1868,4 @@
 	dnl }}}
 	dnl HYPRE{{{
-	AC_MSG_CHECKING([for HYPRE])
 	AC_ARG_WITH(
 		[hypre-dir],
@@ -2045,4 +1874,5 @@
 		[HYPRE_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for HYPRE])
 	if test "x${HYPRE_ROOT}" == "xno"; then
 		HAVE_HYPRE=no
@@ -2065,5 +1895,4 @@
 	dnl }}}
 	dnl Prometheus{{{
-	AC_MSG_CHECKING([for Prometheus])
 	AC_ARG_WITH(
 		[prometheus-dir],
@@ -2072,4 +1901,5 @@
 		[PROMETHEUS_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for Prometheus])
 	if test "x${PROMETHEUS_ROOT}" == "xno"; then
 		HAVE_PROMETHEUS=no
@@ -2092,5 +1922,4 @@
 	dnl }}}
 	dnl SEMIC{{{
-	AC_MSG_CHECKING([for SEMIC])
 	AC_ARG_WITH(
 		[semic-dir],
@@ -2099,4 +1928,5 @@
 		[SEMIC_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SEMIC])
 	if test "x${SEMIC_ROOT}" == "xno"; then
 		HAVE_SEMIC=no
@@ -2120,5 +1950,4 @@
 	dnl }}}
 	dnl SPAI{{{
-	AC_MSG_CHECKING([for SPAI])
 	AC_ARG_WITH(
 		[spai-dir],
@@ -2127,4 +1956,5 @@
 		[SPAI_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SPAI])
 	if test "x${SPAI_ROOT}" == "xno"; then
 		HAVE_SPAI=no
@@ -2147,5 +1977,4 @@
 	dnl }}}
 	dnl SuperLU{{{
-	AC_MSG_CHECKING([for SuperLU])
 	AC_ARG_WITH(
 		[superlu-dir],
@@ -2154,4 +1983,5 @@
 		[SUPERLU_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SuperLU])
 	if test "x${SUPERLU_ROOT}" == "xno"; then
 		HAVE_SUPERLU=no
@@ -2174,5 +2004,4 @@
 	dnl }}}
 	dnl SPOOLES{{{
-	AC_MSG_CHECKING([for SPOOLES])
 	AC_ARG_WITH(
 		[spooles-dir],
@@ -2181,4 +2010,5 @@
 		[SPOOLES_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SPOOLES])
 	if test "x${SPOOLES_ROOT}" == "xno"; then
 		HAVE_SPOOLES=no
@@ -2201,5 +2031,4 @@
 	dnl }}}
 	dnl PaStiX{{{
-	AC_MSG_CHECKING([for PaStiX])
 	AC_ARG_WITH(
 		[pastix-dir],
@@ -2208,4 +2037,5 @@
 		[PASTIX_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for PaStiX])
 	if test "x${PASTIX_ROOT}" == "xno"; then
 		HAVE_PASTIX=no
@@ -2229,5 +2059,4 @@
 	dnl }}}
 	dnl ml{{{
-	AC_MSG_CHECKING([for ml])
 	AC_ARG_WITH(
 		[ml-dir],
@@ -2236,4 +2065,5 @@
 		[ML_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for ml])
 	if test "x${ML_ROOT}" == "xno"; then
 		HAVE_ML=no
@@ -2256,5 +2086,4 @@
 	dnl }}}
 	dnl UMFPACK{{{
-	AC_MSG_CHECKING([for UMFPACK])
 	AC_ARG_WITH(
 		[umfpack-dir],
@@ -2263,4 +2092,5 @@
 		[UMFPACK_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for UMFPACK])
 	if test "x${UMFPACK_ROOT}" == "xno"; then
 		HAVE_UMFPACK=no
@@ -2299,5 +2129,4 @@
 	dnl }}}
 	dnl MATH77{{{
-	AC_MSG_CHECKING([for MATH77])
 	AC_ARG_WITH(
 		[math77-dir],
@@ -2306,4 +2135,5 @@
 		[MATH77_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for MATH77])
 	if test "x${MATH77_ROOT}" == "xno"; then
 		HAVE_MATH77=no
@@ -2324,5 +2154,4 @@
 	dnl }}}
 	dnl Fortran{{{
-	AC_MSG_CHECKING(for Fortran compilation)
 	AC_ARG_WITH(
 		[fortran],
@@ -2331,4 +2160,5 @@
 		[FORTRAN=yes]
 	)
+	AC_MSG_CHECKING(for Fortran compilation)
 	if test "x${FORTRAN}" == "xyes"; then
 		HAVE_FORTRAN=yes
@@ -2394,5 +2224,4 @@
 	dnl }}}
 	dnl MeteoIO{{{
-	AC_MSG_CHECKING([for MeteoIO])
 	AC_ARG_WITH(
 		[meteoio-dir],
@@ -2401,4 +2230,5 @@
 		[METEOIO_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for MeteoIO])
 	if test "x${METEOIO_ROOT}" == "xno"; then
 		HAVE_METEOIO=no
@@ -2423,5 +2253,4 @@
 	dnl }}}
 	dnl SNOWPACK{{{
-	AC_MSG_CHECKING([for SNOWPACK])
 	AC_ARG_WITH(
 		[snowpack-dir],
@@ -2430,4 +2259,5 @@
 		[SNOWPACK_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for SNOWPACK])
 	if test "x${SNOWPACK_ROOT}" == "xno"; then
 		HAVE_SNOWPACK=no
@@ -2451,5 +2281,4 @@
 	dnl }}}
 	dnl NeoPZ{{{
-	AC_MSG_CHECKING([for NeoPZ])
 	AC_ARG_WITH(
 		[neopz-dir],
@@ -2458,4 +2287,5 @@
 		[NEOPZ_ROOT="no"]
 	)
+	AC_MSG_CHECKING([for NeoPZ])
 	if test "x${NEOPZ_ROOT}" == "xno"; then
 		HAVE_NEOPZ=no
@@ -2526,10 +2356,9 @@
 		GMSH_VERSION_MAJOR=`${GMSH_ROOT}/bin/gmsh -info | grep "Version" | sed -e "s/Version@<:@@<:@:blank:@:>@@:>@*:@<:@@<:@:blank:@:>@@:>@//" | cut -d "." -f 1`
 		AC_MSG_RESULT([${GMSH_VERSION_MAJOR}])
-		AC_DEFINE_UNQUOTED([_GMSH_VERSION_MAJOR_], ${GMSH_VERSION_MAJOR}, [Gmsh major version])
+		AC_DEFINE_UNQUOTED(_GMSH_VERSION_MAJOR_, $GMSH_VERSION_MAJOR, [Gmsh major version])
 	fi	
 	dnl }}}
 	dnl Capabilities
 	dnl with-bamg{{{
-	AC_MSG_CHECKING([for BAMG capability compilation])
 	AC_ARG_WITH(
 		[bamg],
@@ -2538,4 +2367,5 @@
 		[BAMG=yes]
 	)
+	AC_MSG_CHECKING([for BAMG capability compilation])
 	HAVE_BAMG=no
 	if test "x${BAMG}" == "xyes"; then
@@ -2547,5 +2377,4 @@
 	dnl }}}
 	dnl with-ocean{{{
-	AC_MSG_CHECKING(for ice/ocean coupling capability compilation)
 	AC_ARG_WITH(
 		[ocean],
@@ -2554,4 +2383,6 @@
 		[OCEAN=no]
 	)
+	AC_MSG_CHECKING(for ice/ocean coupling capability compilation)
+
 	HAVE_OCEAN=no
 	if test "x${OCEAN}" == "xyes"; then
@@ -2563,5 +2394,4 @@
 	dnl }}}
 	dnl with-kml{{{
-	AC_MSG_CHECKING(for kml capability compilation)
 	AC_ARG_WITH(
 		[kml],
@@ -2570,4 +2400,6 @@
 		[KML=no]
 	)
+	AC_MSG_CHECKING(for kml capability compilation)
+
 	HAVE_KML=no
 	if test "x${KML}" == "xyes"; then
@@ -2579,5 +2411,4 @@
 	dnl }}}
 	dnl with-kriging{{{
-	AC_MSG_CHECKING(for kriging capability compilation)
 	AC_ARG_WITH(
 		[kriging],
@@ -2586,4 +2417,6 @@
 		[KRIGING=yes]
 	)
+	AC_MSG_CHECKING(for kriging capability compilation)
+
 	HAVE_KRIGING=no
 	if test "x${KRIGING}" == "xyes"; then
@@ -2600,5 +2433,4 @@
 	dnl Platform specifics
 	dnl with-ios{{{
-	AC_MSG_CHECKING(for iOS compilation)
 	AC_ARG_WITH(
 		[ios],
@@ -2607,4 +2439,6 @@
 		[IOS=no]
 	)
+	AC_MSG_CHECKING(for iOS compilation)
+
 	HAVE_IOS=no
 	if test "x${IOS}" == "xyes"; then
@@ -2616,11 +2450,11 @@
 	dnl }}}
 	dnl with-android{{{
-	AC_MSG_CHECKING([for Android capability compilation])
 	AC_ARG_WITH(
 		[android],
 		AS_HELP_STRING([--with-android=EXE], [compile with Android capabilities (default: "no"; alternatives: "exe", "jni")]),
 		[ANDROID=${withval}],
-		[ANDROID=no]
-	)
+		[ANDROID=no])
+	AC_MSG_CHECKING([for Android capability compilation])
+
 	if test "x${ANDROID}" == "xjni"; then
 		HAVE_ANDROID=jni
@@ -2641,5 +2475,4 @@
 	dnl }}}
 	dnl with-android-ndk{{{
-	AC_MSG_CHECKING([with Android Native Development Kit (NDK)])
 	AC_ARG_WITH(
 		[android-ndk],
@@ -2648,4 +2481,6 @@
 		[ANDROID_NDK_ROOT=""]
 	)
+	AC_MSG_CHECKING([with Android Native Development Kit (NDK)])
+
 	if test -d "${ANDROID_NDK_ROOT}"; then
 		HAVE_ANDROID_NDK=yes
@@ -2661,17 +2496,16 @@
 	dnl other options
 	dnl optimization{{{
-	dnl -- bypass standard optimization -g -O2 -fPIC?
-	AC_MSG_CHECKING(for C++ optimization flags)
+	dnl -- bypass standard optimization -g -O2 -fPIC -std=c++11?
 	AC_ARG_WITH(
 		[cxxoptflags],
 		AS_HELP_STRING([--with-cxxoptflags=CXXOPTFLAGS], [C++ optimization flags (i.e. --with-cxxoptflags="-march=opteron -O3 -std=c++11"]),
 		[CXXOPTFLAGS=${withval}],
-		[CXXOPTFLAGS="-g -O2 -fPIC"]
-	)
+		[CXXOPTFLAGS="-g -O2 -fPIC -std=c++11"]
+	)
+	AC_MSG_CHECKING(for C++ optimization flags)
 	AC_SUBST([CXXOPTFLAGS])
-	AC_MSG_RESULT([${CXXOPTFLAGS}])
+	AC_MSG_RESULT([done])
 	dnl }}}
 	dnl multithreading{{{
-	AC_MSG_CHECKING(for number of threads)
 	AC_ARG_WITH(
 		[numthreads],
@@ -2680,4 +2514,5 @@
 		[NUMTHREADS_VALUE=1]
 	)
+	AC_MSG_CHECKING(for number of threads)
 	dnl Check that supplied value is an integer
 	if [[ "${NUMTHREADS_VALUE}" != "${NUMTHREADS_VALUE}" 2> /dev/null ]]; then
@@ -2694,25 +2529,18 @@
 				MULTITHREADINGLIB="-lpthread -lrt"
 			;;
+			*linux*)
+				MULTITHREADINGLIB="-lpthread -lrt"
+			;;
 			*darwin*)
 				MULTITHREADINGLIB="-lpthread"
 			;;
-			*linux*)
-				MULTITHREADINGLIB="-lpthread -lrt"
-			;;
-			*mingw*)
-				MULTITHREADINGLIB=""
-			;;
-			*msys*)
-				MULTITHREADINGLIB=""
-			;;
 		esac
 		AC_DEFINE([_MULTITHREADING_], [1], [with multithreading enabled])
 	fi
-	AC_DEFINE_UNQUOTED([_NUMTHREADS_], ${NUMTHREADS_VALUE}, [number of threads])
+	AC_DEFINE_UNQUOTED(_NUMTHREADS_, $NUMTHREADS_VALUE, [number of threads])
 	AC_SUBST([MULTITHREADINGLIB])
 	AC_MSG_RESULT([${NUMTHREADS_VALUE}])
 	dnl }}}
 	dnl 64-bit indices{{{
-	AC_MSG_CHECKING([for 64-bit indices])
 	AC_ARG_WITH(
 		[64bit-indices],
@@ -2721,4 +2549,6 @@
 		[USE_64BIT_INDICES=0]
 	)
+	AC_MSG_CHECKING([for 64-bit indices])
+
 	if test "x${USE_64BIT_INDICES}" == "x1"; then
 		AC_DEFINE([ISSM_USE_64BIT_INDICES], [1], [with 64-bit indices])
@@ -2730,5 +2560,5 @@
 
 	dnl Checks {{{
-	AC_MSG_CHECKING(consistency between all external packages)
+	AC_MSG_CHECKING(consistency between all libraries)
 
 	dnl Check that if PETSc is requested, MPI is specified
@@ -2760,5 +2590,5 @@
 
 	dnl Check that if we run ADOL-C, we don't compile kriging.exe
-	if test "x${HAVE_ADOLC}" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then
+	if test "x$HAVE_ADOLC" == "xyes" && test "${HAVE_KRIGING}" == "xyes"; then
 		AC_MSG_ERROR([cannot compile kriging.exe under ADOL-C conditions!]);
 	fi
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 26035)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 26036)
@@ -1,3 +1,3 @@
-AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@
+AM_CPPFLAGS = @NEOPZINCL@ @DAKOTAINCL@ @SHAPELIBINCL@ @PETSCINCL@ @SLEPCINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @MPIINCL@ @METISINCL@ @CHACOINCL@ @SCOTCHINCL@ @PLAPACKINCL@ @BLASLAPACKINCL@ @MKLINCL@ @MUMPSINCL@ @TRIANGLEINCL@ @SPAIINCL@ @HYPREINCL@ @PROMETHEUSINCL@ @SUPERLUINCL@ @SPOOLESINCL@ @PASTIXINCL@ @MLINCL@ @TAOINCL@ @ADIC2INCL@ @ADOLCINCL@ @CODIPACKINCL@ @GSLINCL@ @BOOSTINCL@ @ANDROID_NDKINCL@ @METEOIOINCL@ @SNOWPACKINCL@ @PROJINCL@ @ESMFINCL@
 AM_FCFLAGS = @SEMICINCL@
 
@@ -8,8 +8,5 @@
 #Library declaration {{{
 if !WINDOWS
-lib_LTLIBRARIES = libISSMCore.la
-if !MSYS2
-lib_LTLIBRARIES += libISSMOverload.la
-endif
+lib_LTLIBRARIES = libISSMCore.la libISSMOverload.la
 if WRAPPERS
 lib_LTLIBRARIES += libISSMModules.la
@@ -685,18 +682,13 @@
 #}}}
 #Library flags and sources {{{
-ALL_CXXFLAGS = $(CXXFLAGS) $(CXXOPTFLAGS)
-
-# Cannot have undefined symbols under msys2
-if MSYS2
-ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_
-endif
+ALLCXXFLAGS= $(CXXFLAGS) $(CXXOPTFLAGS)
 
 libISSMCore_la_SOURCES  = $(issm_sources)
-libISSMCore_la_CXXFLAGS = $(ALL_CXXFLAGS) $(DAKOTAFLAGS)
+libISSMCore_la_CXXFLAGS = $(ALLCXXFLAGS) $(DAKOTAFLAGS)
 libISSMCore_la_FFLAGS = $(AM_FFLAGS)
 
 if !WINDOWS
 if !STANDALONE_LIBRARIES
-libISSMCore_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS)
+libISSMCore_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(ADJOINTMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
 if FORTRAN
 libISSMCore_la_LIBADD += $(FLIBS) $(FORTRANLIB)
@@ -719,5 +711,5 @@
 endif
 
-libISSMModules_la_CXXFLAGS = $(ALL_CXXFLAGS)
+libISSMModules_la_CXXFLAGS = $(ALLCXXFLAGS)
 if !WINDOWS
 if STANDALONE_LIBRARIES
@@ -751,39 +743,22 @@
 endif
 
-if VERSION
+if STANDALONE_LIBRARIES
+libISSMCore_la_LDFLAGS = -static
+libISSMOverload_la_LDFLAGS = -static
+if WRAPPERS
+libISSMModules_la_LDFLAGS = -static
+else
+libISSMModules_la_LDFLAGS =
+endif
+else
 libISSMCore_la_LDFLAGS =
-if WRAPPERS
-libISSMModules_la_LDFLAGS =
-endif
-else
-libISSMCore_la_LDFLAGS = -avoid-version
-if WRAPPERS
-libISSMModules_la_LDFLAGS = -avoid-version
-endif
-endif
-
-if STANDALONE_LIBRARIES
-libISSMCore_la_LDFLAGS += -static
-if WRAPPERS
-libISSMModules_la_LDFLAGS += -static
-endif
-endif
-#}}}
-
-if !MSYS2
+libISSMOverload_la_LDFLAGS =
+endif
+
+#}}}
 #Overload library, to overload any non-standard symbols. {{{
 libISSMOverload_la_SOURCES = ./shared/String/ApiPrintf.cpp
+
 libISSMOverload_la_CFLAGS  = -D_C_ -fPIC $(COPTFLAGS) $(CFLAGS)
-
-if VERSION
-libISSMOverload_la_LDFLAGS =
-else
-libISSMOverload_la_LDFLAGS = -avoid-version
-endif
-
-if STANDALONE_LIBRARIES
-libISSMOverload_la_LDFLAGS += -static
-endif
-endif
 #}}}
 #Executable {{{
@@ -803,10 +778,5 @@
 
 #Standard libraries
-LDADD = ./libISSMCore.la 
-
-if !MSYS2
-LDADD += ./libISSMOverload.la
-endif
-
+LDADD = ./libISSMCore.la ./libISSMOverload.la
 if WRAPPERS
 LDADD += ./libISSMModules.la $(TRIANGLELIB)
@@ -814,5 +784,5 @@
 
 #External packages
-LDADD +=  $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(BLACSLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB) $(OSLIBS)
+LDADD += $(NEOPZLIB) $(TAOLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(SCALAPACKLIB) $(BLACSLIB) $(PETSCLIB) $(HDF5LIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(AMPILIB) $(ADJOINTMPILIB) $(ADOLCLIB) $(MPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(ESMFLIB)
 
 if FORTRAN
Index: /issm/trunk-jpl/src/wrappers/Triangle/Triangle.h
===================================================================
--- /issm/trunk-jpl/src/wrappers/Triangle/Triangle.h	(revision 26035)
+++ /issm/trunk-jpl/src/wrappers/Triangle/Triangle.h	(revision 26036)
@@ -19,5 +19,5 @@
 #ifdef _HAVE_JAVASCRIPT_MODULES_
 #undef _DO_NOT_LOAD_GLOBALS_ /*only module where this needs to be undefined, so as to 
-							   not include IssmComm several times in the JavaScript module construct.*/
+							   not include IssmComm several times in the javascript Modle construct.*/
 #endif
 
Index: /issm/trunk-jpl/src/wrappers/javascript/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/wrappers/javascript/Makefile.am	(revision 26035)
+++ /issm/trunk-jpl/src/wrappers/javascript/Makefile.am	(revision 26036)
@@ -1,3 +1,3 @@
-AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@
+AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @CODIPACKINCL@
 AUTOMAKE_OPTIONS = subdir-objects
 
@@ -60,5 +60,5 @@
 AM_CXXFLAGS +=  -D_HAVE_JAVASCRIPT_MODULES_ -fPIC
 
-deps = ./libISSMJavascript.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la
+deps = ./libISSMJavascript.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
 
 #Optimization flags:
Index: /issm/trunk-jpl/src/wrappers/matlab/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 26035)
+++ /issm/trunk-jpl/src/wrappers/matlab/Makefile.am	(revision 26036)
@@ -20,15 +20,8 @@
 	./io/WriteMatlabData.cpp
 
-ALL_CXXFLAGS = -fPIC -D_WRAPPERS_
-
-# Cannot have undefined symbols under msys2
-if MSYS2
-ALL_CXXFLAGS += -D_DO_NOT_LOAD_GLOBALS_
-endif
-
-ALL_CXXFLAGS += $(CXXOPTFLAGS) $(CXXFLAGS)
+ALLCXXFLAGS= -fPIC -D_WRAPPERS_ $(CXXFLAGS) $(CXXOPTFLAGS)
 
 libISSMMatlab_la_SOURCES = $(io_sources)
-libISSMMatlab_la_CXXFLAGS = ${ALL_CXXFLAGS}
+libISSMMatlab_la_CXXFLAGS= $(ALLCXXFLAGS)
 #}}}
 #api io{{{
@@ -39,10 +32,8 @@
 endif
 
-if !MSYS2
 api_sources= ./io/ApiPrintf.cpp
 
 libISSMApi_la_SOURCES = $(api_sources)
-libISSMApi_la_CXXFLAGS = ${ALL_CXXFLAGS}
-endif
+libISSMApi_la_CXXFLAGS= $(ALLCXXFLAGS)
 #}}}
 #Wrappers {{{
@@ -91,20 +82,8 @@
 
 #Triangle library
-TRI_CXXFLAGS = -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER
+AM_CXXFLAGS =  -DTRILIBRARY -DANSI_DECLARATORS -DNO_TIMER -D_WRAPPERS_
 
 #Matlab part
-MEX_CXXFLAGS = -D_HAVE_MATLAB_MODULES_ $(MEXOPTFLAGS) $(MEXCXXFLAGS)
-MEX_CPPFLAGS = $(MATLABINCL)
-MEX_LDFLAGS = -module -shrext $(MEXEXT) -no-undefined
-MEX_LIBADD = $(MEXLINKFLAGS) $(MEXLIB)
-
-AM_CPPFLAGS += ${MEX_CPPFLAGS}
-AM_CXXFLAGS = ${TRI_CXXFLAGS} ${MEX_CXXFLAGS}
-AM_LDFLAGS = ${MEX_LDFLAGS}
-AM_LIBADD = ${MEX_LIBADD}
-
-if !MSYS2
-AM_LDFLAGS += --export-dynamic -rdynamic
-endif
+AM_LDFLAGS = -module $(MEXLINK) -shrext ${EXEEXT} --export-dynamic -rdynamic -no-undefined
 
 if !VERSION
@@ -129,13 +108,9 @@
 AM_CXXFLAGS += -D_HAVE_MATLAB_MODULES_ -fPIC
 
-deps += ./libISSMMatlab.la ../../c/libISSMCore.la ../../c/libISSMModules.la
-
-if !MSYS2
-deps += ./libISSMApi.la
-endif
-
-# if WINDOWS
-# deps += $(METISLIB)
-# endif
+deps += ./libISSMMatlab.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
+
+if WINDOWS
+deps += $(METISLIB)
+endif
 
 if ADOLC
@@ -147,145 +122,137 @@
 endif
 
-# #MEXLIB needs to be the last (undefined references on larsen)
-# deps += ${MEXLIB}
-
-# #Optimization flags:
-# AM_CXXFLAGS += $(CXXOPTFLAGS)
+#MEXLIB needs to be the last (undefined references on larsen)
+deps += ${MEXLIB}
+
+#Optimization flags:
+AM_CXXFLAGS += $(CXXOPTFLAGS)
 #}}}
 # Module sources and dependencies {{{
 if !WINDOWS
-libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
-endif
-
-if VERSION
-libISSMMatlab_la_LDFLAGS =
-libISSMApi_la_LDFLAGS =
-else
-libISSMMatlab_la_LDFLAGS = -avoid-version
-libISSMApi_la_LDFLAGS = -avoid-version
+libISSMMatlab_la_LIBADD = ./../../c/libISSMCore.la ./../../c/libISSMModules.la $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(MKLLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
 endif
 
 if STANDALONE_LIBRARIES
-libISSMMatlab_la_LDFLAGS += -static
-libISSMApi_la_LDFLAGS += -static
-deps +=  $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(PROJLIB) $(OSLIBS)
-endif
-
-if !WINDOWS
-libISSMApi_la_LIBADD = $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
+libISSMMatlab_la_LDFLAGS = -static
+libISSMApi_la_LDFLAGS = -static
+deps += $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(DAKOTALIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
+endif
+
+if !WINDOWS
+libISSMApi_la_LIBADD = $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MATHLIB) $(MEXLIB)
 endif
 
 BamgConvertMesh_matlab_la_SOURCES = ../BamgConvertMesh/BamgConvertMesh.cpp
 BamgConvertMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-BamgConvertMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+BamgConvertMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 BamgMesher_matlab_la_SOURCES = ../BamgMesher/BamgMesher.cpp
 BamgMesher_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-BamgMesher_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+BamgMesher_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 BamgTriangulate_matlab_la_SOURCES = ../BamgTriangulate/BamgTriangulate.cpp
 BamgTriangulate_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-BamgTriangulate_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+BamgTriangulate_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 if CHACO
 Chaco_matlab_la_SOURCES = ../Chaco/Chaco.cpp
 Chaco_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-Chaco_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+Chaco_matlab_la_LIBADD = ${deps} $(CHACOLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 endif
 
 ContourToMesh_matlab_la_SOURCES = ../ContourToMesh/ContourToMesh.cpp
 ContourToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ContourToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ContourToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 ContourToNodes_matlab_la_SOURCES = ../ContourToNodes/ContourToNodes.cpp
 ContourToNodes_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ContourToNodes_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ContourToNodes_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 CoordTransform_matlab_la_SOURCES = ../CoordTransform/CoordTransform.cpp
 CoordTransform_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-CoordTransform_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+CoordTransform_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 DistanceToMaskBoundary_matlab_la_SOURCES = ../DistanceToMaskBoundary/DistanceToMaskBoundary.cpp
 DistanceToMaskBoundary_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+DistanceToMaskBoundary_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 ElementConnectivity_matlab_la_SOURCES = ../ElementConnectivity/ElementConnectivity.cpp
 ElementConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ElementConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ElementConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 ExpToLevelSet_matlab_la_SOURCES = ../ExpToLevelSet/ExpToLevelSet.cpp
 ExpToLevelSet_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ExpToLevelSet_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ExpToLevelSet_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 ExpSimplify_matlab_la_SOURCES = ../ExpSimplify/ExpSimplify.cpp
 ExpSimplify_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ExpSimplify_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ExpSimplify_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(NEOPZLIB)
 
 InterpFromGridToMesh_matlab_la_SOURCES = ../InterpFromGridToMesh/InterpFromGridToMesh.cpp
 InterpFromGridToMesh_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-InterpFromGridToMesh_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+InterpFromGridToMesh_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 InterpFromMesh2d_matlab_la_SOURCES = ../InterpFromMesh2d/InterpFromMesh2d.cpp
 InterpFromMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-InterpFromMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+InterpFromMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 InterpFromMeshToGrid_matlab_la_SOURCES = ../InterpFromMeshToGrid/InterpFromMeshToGrid.cpp
 InterpFromMeshToGrid_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+InterpFromMeshToGrid_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 InterpFromMeshToMesh2d_matlab_la_SOURCES = ../InterpFromMeshToMesh2d/InterpFromMeshToMesh2d.cpp
 InterpFromMeshToMesh2d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+InterpFromMeshToMesh2d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 InterpFromMeshToMesh3d_matlab_la_SOURCES = ../InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp
 InterpFromMeshToMesh3d_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+InterpFromMeshToMesh3d_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 IssmConfig_matlab_la_SOURCES = ../IssmConfig/IssmConfig.cpp
 IssmConfig_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-IssmConfig_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+IssmConfig_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB)
 
 Kriging_matlab_la_SOURCES = ../Kriging/Kriging.cpp
 Kriging_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-Kriging_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+Kriging_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(PROJLIB)
 
 M1qn3_matlab_la_SOURCES = ../M1qn3/M1qn3.cpp
 M1qn3_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-M1qn3_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+M1qn3_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(M1QN3LIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 MeshPartition_matlab_la_SOURCES = ../MeshPartition/MeshPartition.cpp
 MeshPartition_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-MeshPartition_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+MeshPartition_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(METISLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 MeshProfileIntersection_matlab_la_SOURCES = ../MeshProfileIntersection/MeshProfileIntersection.cpp
 MeshProfileIntersection_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-MeshProfileIntersection_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+MeshProfileIntersection_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 NodeConnectivity_matlab_la_SOURCES = ../NodeConnectivity/NodeConnectivity.cpp
 NodeConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-NodeConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+NodeConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 PointCloudFindNeighbors_matlab_la_SOURCES = ../PointCloudFindNeighbors/PointCloudFindNeighbors.cpp
 PointCloudFindNeighbors_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+PointCloudFindNeighbors_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(MULTITHREADINGLIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 PropagateFlagsFromConnectivity_matlab_la_SOURCES = ../PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp
 PropagateFlagsFromConnectivity_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+PropagateFlagsFromConnectivity_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 Scotch_matlab_la_SOURCES = ../Scotch/Scotch.cpp
 Scotch_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-Scotch_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+Scotch_matlab_la_LIBADD = ${deps}  $(PETSCLIB) $(HDF5LIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(BLASLAPACKLIB)
 
 ShpRead_matlab_la_SOURCES = ../ShpRead/ShpRead.cpp
 ShpRead_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ShpRead_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
+ShpRead_matlab_la_LIBADD = ${deps} $(SHAPELIBLIB) $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 Triangle_matlab_la_SOURCES = ../Triangle/Triangle.cpp
 Triangle_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) ${AM_LIBADD}
+Triangle_matlab_la_LIBADD = ${deps} $(TRIANGLELIB) $(PETSCLIB) $(HDF5LIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
 
 ProcessRifts_matlab_la_SOURCES = ../ProcessRifts/ProcessRifts.cpp
 ProcessRifts_matlab_la_CXXFLAGS = ${AM_CXXFLAGS}
-ProcessRifts_matlab_la_LIBADD = ${deps} ${AM_LIBADD}
-#}}}
+ProcessRifts_matlab_la_LIBADD = ${deps} $(PETSCLIB) $(HDF5LIB) $(BLASLAPACKLIB) $(MPILIB) $(NEOPZLIB) $(GSLLIB) $(PROJLIB)
+#}}}
Index: /issm/trunk-jpl/src/wrappers/matlab/include/wrapper_macros.h
===================================================================
--- /issm/trunk-jpl/src/wrappers/matlab/include/wrapper_macros.h	(revision 26035)
+++ /issm/trunk-jpl/src/wrappers/matlab/include/wrapper_macros.h	(revision 26036)
@@ -34,5 +34,5 @@
 /*}}}*/
 /* WRAPPER {{{*/
-#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) /* NOTE: In this case, modulename is thrown away in the macro expansion whereas it is used in for the Python wrappers (see also: src/wrappers/python/include/wrapper_macros.h, any result of `grep -r 'WRAPPER(' $ISSM_DIR/src)` */
+#define WRAPPER(modulename,...) void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) 
 /*}}}*/
 /* CHECKARGUMENTS {{{*/
Index: /issm/trunk-jpl/src/wrappers/python/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/wrappers/python/Makefile.am	(revision 26035)
+++ /issm/trunk-jpl/src/wrappers/python/Makefile.am	(revision 26036)
@@ -1,3 +1,3 @@
-AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @PARMETISINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@
+AM_CPPFLAGS = @DAKOTAINCL@ @PETSCINCL@ @MPIINCL@ @SPOOLESINCL@ @METISINCL@ @TRIANGLEINCL@ @CHACOINCL@ @SCOTCHINCL@ @SHAPELIBINCL@ @PYTHONINCL@ @PYTHON_NUMPYINCL@ @AMPIINCL@ @ADJOINTMPIINCL@ @MEDIPACKINCL@ @CODIPACKINCL@
 AUTOMAKE_OPTIONS = subdir-objects
 
@@ -70,5 +70,5 @@
 #	will be linked to, whether we like it or not, if no static version is
 #	available.
-# - On macOC, static linking of binaries is not supported.
+# - On macOS, static linking of binaries is not supported.
 #
 if STANDALONE_MODULES
@@ -87,5 +87,5 @@
 endif
 
-deps += ./libISSMPython.la ./libISSMApi.la ../../c/libISSMCore.la ../../c/libISSMModules.la
+deps += ./libISSMPython.la ../../c/libISSMModules.la ../../c/libISSMCore.la ./libISSMApi.la
 
 if ADOLC
@@ -106,5 +106,5 @@
 libISSMPython_la_LDFLAGS = -static
 libISSMApi_la_LDFLAGS = -static
-deps += $(DAKOTALIB) $(PETSCLIB) $(MUMPSLIB) $(SCALAPACKLIB) $(BLASLAPACKLIB) $(PARMETISLIB) $(METISLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(CHACOLIB) $(SCOTCHLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB) $(OSLIBS)
+deps += $(DAKOTALIB) $(PETSCLIB) $(HDF5LIB) $(TAOLIB) $(NEOPZLIB) $(M1QN3LIB) $(SEMICLIB) $(PLAPACKLIB) $(MUMPSLIB) $(SUPERLULIB) $(SPOOLESLIB) $(TRIANGLELIB) $(SCALAPACKLIB) $(BLACSLIB) $(HYPRELIB) $(SPAILIB) $(PROMETHEUSLIB) $(PASTIXLIB) $(MLLIB) $(METISLIB) $(CHACOLIB) $(SCOTCHLIB) $(BLASLAPACKLIB) $(MKLLIB) $(MPILIB) $(MATHLIB) $(GRAPHICSLIB) $(MULTITHREADINGLIB) $(OSLIBS) $(GSLLIB) $(ADOLCLIB) $(AMPILIB) $(METEOIOLIB) $(SNOWPACKLIB)
 endif
 
