Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 12941)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 12942)
@@ -173,42 +173,46 @@
 		MATLABINCL=-I"$MATLAB_ROOT/extern/include";
 		
-		dnl OS-dependent variables and checks
-		case "${host_os}" in
-			*linux*)
-				if test "${host_cpu}" = "x86_64";
-				then
-					MEXLIB=-L"$MATLAB_ROOT/bin/glnxa64/ -lmex"
-					MEXLINK="-pthread -shared -W2,--version-script,${MATLAB_ROOT}/extern/lib/glnxa64/mexFunction.map";
-				else
-					MEXLIB=-L"$MATLAB_ROOT/bin/glnx86/ -lmex"
-					MEXLINK="-pthread -shared -W2,--version-script,${MATLAB_ROOT}/extern/lib/glnx86/mexFunction.map";
-				fi
-				MEXEXT=`$MATLAB_ROOT/bin/mexext`
-				MEXEXT=".$MEXEXT"
-			;;
-			*darwin*)
-				dnl mex -v gives all the flags for compilation of mex files
-				dnl if matlab version is 7.9 or more, we must use mexmaci64 (64 bits)
-				MEXLINK="-O -Wl,-flat_namespace -undefined suppress -arch i386 -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci/mexFunction.map"
-				MEXLIB=" -L$MATLAB_ROOT/bin/maci/ -lmx -lmex -lmat -lstdc++ -largeArrayDims"
-				if test $MATLAB_MAJOR -ge 7; then 
-					 if test $MATLAB_MINOR -ge 9; then 
-						  MEXLINK="-O -Wl,-flat_namespace -undefined suppress -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci64/mexFunction.map"
-							 MEXLIB=" -L$MATLAB_ROOT/bin/maci64/ -lmx -lmex -lmat -lstdc++"
-					 fi
-				fi
-				MEXEXT=`$MATLAB_ROOT/bin/mexext`
-				MEXEXT=".$MEXEXT"
-			;;
-			*cygwin*) 
-				if  test $VENDOR = intel-win7-32; then
-					MEXLIB="-dll -export:mexFunction -LIBPATH:\"$MATLAB_ROOT\extern\lib\win32\microsoft\" libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  -NOLOGO -INCREMENTAL:NO -manifest" 
-				elif  test $VENDOR = intel-win7-64; then
-					MEXLIB="-dll -export:mexFunction -LIBPATH:\"$MATLAB_ROOT\extern\lib\win64\microsoft\" libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  -NOLOGO -INCREMENTAL:NO -manifest" 
-				fi
-				MEXEXT=`$MATLAB_ROOT/bin/mexext.bat`
-				MEXEXT=".$MEXEXT"
-			;;
-		esac
+		dnl 4. get MEXLIB MEXLINK and MEXEXT (experimental)
+		MEXLINK=$(mex -v 2>&1 < /dev/null | grep LDFLAGS     | sed -e "s/         LDFLAGS            = //g")
+		MEXLIB=$( mex -v 2>&1 < /dev/null | grep CXXLIBS     | sed -e "s/         CXXLIBS            = //g")
+		MEXEXT=$( mex -v 2>&1 < /dev/null | grep LDEXTENSION | sed -e "s/         LDEXTENSION        = //g")
+		dnl dnl OS-dependent variables and checks (old stuff)
+		dnl case "${host_os}" in
+		dnl 	*linux*)
+		dnl 		if test "${host_cpu}" = "x86_64";
+		dnl 		then
+		dnl 			MEXLIB="-Wl,-rpath-link,$MATLAB_ROOT/bin/glnxa64 -L$MATLAB_ROOT/bin/glnxa64/ -lmx -lmex -lmat -lm"
+		dnl 			MEXLINK="-pthread -shared -W2,--version-script,${MATLAB_ROOT}/extern/lib/glnxa64/mexFunction.map";
+		dnl 		else
+		dnl 			MEXLIB=-L"$MATLAB_ROOT/bin/glnx86/ -lmex"
+		dnl 			MEXLINK="-pthread -shared -W2,--version-script,${MATLAB_ROOT}/extern/lib/glnx86/mexFunction.map";
+		dnl 		fi
+		dnl 		MEXEXT=`$MATLAB_ROOT/bin/mexext`
+		dnl 		MEXEXT=".$MEXEXT"
+		dnl 	;;
+		dnl 	*darwin*)
+		dnl 		dnl mex -v gives all the flags for compilation of mex files
+		dnl 		dnl if matlab version is 7.9 or more, we must use mexmaci64 (64 bits)
+		dnl 		MEXLINK="-O -Wl,-flat_namespace -undefined suppress -arch i386 -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci/mexFunction.map"
+		dnl 		MEXLIB=" -L$MATLAB_ROOT/bin/maci/ -lmx -lmex -lmat -lstdc++ -largeArrayDims"
+		dnl 		if test $MATLAB_MAJOR -ge 7; then 
+		dnl 			 if test $MATLAB_MINOR -ge 9; then 
+		dnl 				  MEXLINK="-O -Wl,-flat_namespace -undefined suppress -bundle -Wl,-exported_symbols_list,$MATLAB_ROOT/extern/lib/maci64/mexFunction.map"
+		dnl 					 MEXLIB=" -L$MATLAB_ROOT/bin/maci64/ -lmx -lmex -lmat -lstdc++"
+		dnl 			 fi
+		dnl 		fi
+		dnl 		MEXEXT=`$MATLAB_ROOT/bin/mexext`
+		dnl 		MEXEXT=".$MEXEXT"
+		dnl 	;;
+		dnl 	*cygwin*) 
+		dnl 		if  test $VENDOR = intel-win7-32; then
+		dnl 			MEXLIB="-dll -export:mexFunction -LIBPATH:\"$MATLAB_ROOT\extern\lib\win32\microsoft\" libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  -NOLOGO -INCREMENTAL:NO -manifest" 
+		dnl 		elif  test $VENDOR = intel-win7-64; then
+		dnl 			MEXLIB="-dll -export:mexFunction -LIBPATH:\"$MATLAB_ROOT\extern\lib\win64\microsoft\" libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  -NOLOGO -INCREMENTAL:NO -manifest" 
+		dnl 		fi
+		dnl 		MEXEXT=`$MATLAB_ROOT/bin/mexext.bat`
+		dnl 		MEXEXT=".$MEXEXT"
+		dnl 	;;
+		dnl esac
 	   AC_MSG_RESULT(done)
 
@@ -671,5 +675,5 @@
 			PETSCLIB="-L$PETSC_ROOT/$PETSC_ARCH/lib -L$PETSC_ROOT/lib -L$PETSC_ROOT/lib/$PETSC_ARCH -lpetscksp -lpetscdm -lpetscmat -lpetscvec -lpetsc  -lpetscsnes -lpetscts"
 			else
-			PETSCLIB="-L$PETSC_ROOT/$PETSC_ARCH/lib -L$PETSC_ROOT/lib -L$PETSC_ROOT/lib/$PETSC_ARCH -lpetsc"
+			PETSCLIB="-L$PETSC_ROOT/$PETSC_ARCH/lib -L$PETSC_ROOT/lib -L$PETSC_ROOT/lib/$PETSC_ARCH -lpetsc -ldl"
 			fi
 			;;
