Index: /issm/trunk-jpl/etc/environment.csh
===================================================================
--- /issm/trunk-jpl/etc/environment.csh	(revision 25912)
+++ /issm/trunk-jpl/etc/environment.csh	(revision 25913)
@@ -1,117 +1,245 @@
-#ISSM_DIR should have been defined already in your shell settings file (.bashrc, .cshrc, etc ...)
-
-#Load ISSM scripts
-setenv PATH {$PATH}:{$ISSM_DIR}/scripts
+# Modifies path-related envrionment variables based on which external packages
+# have been installed.
+#
+# ISSM_DIR and ISSM_ARCH should have been defined already in your shell
+# settings file (i.e. .bashrc, .cshrc).
+#
+# TODO:
+# - Condition all path modifications on existence of external package 'install'
+#	directory
+#
+
+# Silence `<command>: no match`
+set nonomatch=1
+
+setenv PATH "{$PATH}:{$ISSM_DIR}/aux-config"
+setenv PATH "{$PATH}:{$ISSM_DIR}/scripts"
 
 set ISSM_EXT_DIR="{$ISSM_DIR}/externalpackages" # Redefine this constant if externalpackages are installed to a different directory
 
-#MPI
-set MPI_DIR="{$ISSM_EXT_DIR}/mpich/install"
-if (-d $MPI_DIR) then
-	setenv MPI_DIR {$MPI_DIR}
-	setenv PATH {$MPI_DIR}/bin:{$PATH}
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$MPI_DIR/lib
-	setenv MANPATH {$MANPATH}:$MPI_DIR/man
-endif
-
-#PETSC
-set PETSC_DIR="{$ISSM_EXT_DIR}/petsc/install"
-if (-d $PETSC_DIR) then
-	setenv PETSC_DIR {$PETSC_DIR}
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$PETSC_DIR/lib
-endif
-
-set SCOTCH_DIR="{$ISSM_EXT_DIR}/scotch/install"
-if (-d $SCOTCH_DIR) then
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$SCOTCH_DIR/lib
-endif
-
-#SLEPC
-set SLEPC_DIR="{$ISSM_EXT_DIR}/slepc/install"
-if (-d $SLEPC_DIR) then
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$SLEPC_DIR/lib
-endif
-
-#PETSC
-set TAO_DIR="{$ISSM_EXT_DIR}/tao/install"
-if (-d $TAO_DIR) then
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$TAO_DIR/lib
-endif
-
-#Dakota
-set DAKOTA_DIR="{$ISSM_EXT_DIR}/dakota/install"
-if (-d $DAKOTA_DIR) then
-	setenv PATH {$DAKOTA_DIR}/bin:{$PATH}
-	setenv MANPATH {$MANPATH}:{$MPI_DIR}/man:{$DAKOTA_DIR}/docs/man:{$DAKOTA_DIR}/docs/man-ref
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$DAKOTA_DIR/lib
-endif
-
-#Boost
-set BOOST_DIR="{$ISSM_EXT_DIR}/boost/install"
-set BOOSTROOT="{$ISSM_EXT_DIR}/boost/install"
-if (-d $BOOST_DIR) then
-   setenv PATH {$BOOST_DIR}/bin:{$PATH}
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:$BOOST_DIR/lib
-endif
-
-#Doxygen
-set DOXYGEN_DIR="{$ISSM_EXT_DIR}/doxygen/install"
-if (-d $DOXYGEN_DIR) then
-	setenv MANPATH {$MANPATH}:{$DOXYGEN_DIR}/man
-	setenv PATH {$PATH}:{$DOXYGEN_DIR}/bin
-endif
-
-#AUTOTOOLS
-set AUTOTOOLS_DIR="{$ISSM_EXT_DIR}/autotools/install"
-if (-d $AUTOTOOLS_DIR) then
-	setenv PATH {$AUTOTOOLS_DIR}/bin:{$PATH}
-endif
-
-#SSH
-set SSH_DIR="{$ISSM_EXT_DIR}/ssh"
-if (-d $SSH_DIR) then
-	setenv PATH {$PATH}:{$SSH_DIR}
-endif
-
-#VALGRIND
-set VALGRIND_DIR="{$ISSM_EXT_DIR}/valgrind/install/bin"
-if (-d $VALGRIND_DIR) then
-	setenv PATH {$PATH}:{$VALGRIND_DIR}
-endif
-
-#MERCURIAL
-set MERCURIAL_DIR="{$ISSM_EXT_DIR}/mercurial/install"
-if (-d $MERCURIAL_DIR) then
-	setenv PYTHONPATH {$MERCURIAL_DIR}/mercurial/pure/
-	setenv PATH {$PATH}:{$MERCURIAL_DIR}
-endif
-
-#GSL
-set GSL_DIR="{$ISSM_EXT_DIR}/gsl/install"
-if (-d $GSL_DIR) then
-	setenv LD_LIBRARY_PATH {$LD_LIBRARY_PATH}:{$GSL_DIR}/lib
-endif
-
-#CMAKE
-set CMAKE_DIR="{$ISSM_EXT_DIR}/cmake/install"
-if (-d $CMAKE_DIR) then
-	setenv PATH {$CMAKE_DIR}/bin:{$PATH}
-endif
-
-#YAMS
-set YAMS_DIR="{$ISSM_EXT_DIR}/yams/install"
-if (-d $YAMS_DIR) then
-	setenv PATH {$PATH}:{$YAMS_DIR}/bin
-endif
-
-#SHELL2JUNIT
-set SHELL2JUNIT_DIR="{$ISSM_EXT_DIR}/shell2junit"
-if (-d $SHELL2JUNIT_DIR) then
-	setenv PATH {$SHELL2JUNIT_DIR}/install:{$PATH}
-endif
-
-#GMT
-set GMT_DIR="{$ISSM_EXT_DIR}/gmt"
-if (-d $GMT_DIR) then
-	setenv PATH {$GMT_DIR}/install/bin/:{$PATH}
-endif
+#########################
+# Command-line utilities
+#########################
+set SSH_ROOT="{$ISSM_EXT_DIR}/ssh"
+if ( -d {$SSH_ROOT} ) then
+	setenv PATH "{$PATH}:{$SSH_ROOT}"
+endif
+
+#############################
+# Build systems
+#############################
+set AUTOTOOLS_ROOT="{$ISSM_EXT_DIR}/autotools/install"
+setenv PATH "{$AUTOTOOLS_ROOT}/bin:{$PATH}"
+
+set CMAKE_ROOT="{$ISSM_EXT_DIR}/cmake/install"
+setenv PATH "{$CMAKE_ROOT}/bin:{$PATH}"
+
+#############################
+# Libraries / binaries
+#############################
+set MPI_ROOT="{$ISSM_EXT_DIR}/mpich/install"
+if ( -d {$MPI_ROOT} ) then
+	setenv MPI_DIR {$MPI_ROOT}
+	setenv MPI_HOME {$MPI_ROOT} # Used in installation of Dakota
+	setenv MPI_INC_DIR {$MPI_ROOT}/include
+	setenv PATH "{$MPI_ROOT}/bin:{$PATH}"
+	setenv CPATH "{$MPI_ROOT}/include:{$CPATH}"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$MPI_ROOT}/lib"
+endif
+
+# NOTE: Check *must* come before PETSc as we prefer packages installed via 
+# 		PETSc
+#
+set ZLIB_ROOT="{$ISSM_EXT_DIR}/zlib/install"
+if ( -d {$ZLIB_ROOT} ) then
+	setenv ZLIB_ROOT {$ZLIB_ROOT} # Used in installation of NetCDF, GDAL, GMT
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$LD_LIBRARY_PATH}/lib"
+endif
+
+set PETSC_ROOT="{$ISSM_EXT_DIR}/petsc/install"
+if ( -d {$PETSC_ROOT} ) then
+	setenv PETSC_ROOT {$PETSC_ROOT}
+	setenv LD_LIBRARY_PATH "{$PETSC_ROOT}/lib:{$LD_LIBRARY_PATH}"
+
+	# In case we have installed certain external packages via PETSc
+	#
+
+	# BLAS
+	if ( `find {$PETSC_ROOT}/lib -name libblas.*` != "" || `find {$PETSC_ROOT}/lib -name libfblas.*` != "" ) then
+		setenv BLAS_ROOT "{$PETSC_ROOT}" # Used in installation of Dakota, GMT
+	endif
+
+	# HDF5
+	if ( `find {$PETSC_ROOT}/lib -name libhdf5.*` != "" ) then
+		setenv HDF5_ROOT "{$PETSC_ROOT}" # Used in installation of NetCDF, GDAL
+		setenv CPATH "{$CPATH}:{$PETSC_ROOT}/include"
+		setenv LIBRARY_PATH "{$LIBRARY_PATH}:{$PETSC_ROOT}/lib"
+		setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$PETSC_ROOT}/lib"
+		setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$PETSC_ROOT}/lib"
+	endif
+
+	# LAPACK
+	if ( `find {$PETSC_ROOT}/lib -name liblapack.*` != "" || `find {$PETSC_ROOT}/lib -name libflapack.*` != "" ) then
+		setenv LAPACK_ROOT "{$PETSC_ROOT}" # Used in installation of Dakota, GMT
+	endif
+
+	# METIS
+	if ( `find {$PETSC_ROOT}/lib -name libmetis.*` != "" ) then
+		setenv METIS_ROOT "{$PETSC_ROOT}" # Used in installation of Gmsh
+	endif
+
+	# MPICH
+	if ( -f "{$PETSC_ROOT}/bin/mpiexec" ) then
+		set MPI_ROOT={$PETSC_ROOT}
+		setenv MPI_DIR {$MPI_ROOT}
+		setenv MPI_HOME {$MPI_ROOT} # Used in installation of Dakota
+		setenv MPI_INC_DIR "{$MPI_ROOT}/include"
+		setenv PATH "{$MPI_ROOT}/bin:{$PATH}"
+		setenv CPATH "{$MPI_ROOT}/include:{$CPATH}"
+		setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$MPI_ROOT}/lib"
+	endif
+
+	# ZLIB
+	if ( `find {$PETSC_ROOT}/lib -name libz.*` != "" ) then
+		setenv ZLIB_ROOT "{$PETSC_ROOT}" # Used in installation of NetCDF, GDAL
+		setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$PETSC_ROOT}/lib"
+	endif
+endif
+
+set SCOTCH_ROOT="{$ISSM_EXT_DIR}/scotch/install"
+if ( -d "{$SCOTCH_ROOT}" ) then
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$SCOTCH_ROOT}/lib"
+endif
+
+set SLEPC_ROOT="{$ISSM_EXT_DIR}/slepc/install"
+if ( -d "{$SLEPC_ROOT}" ) then
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$SLEPC_ROOT}/lib"
+endif
+
+set TAO_ROOT="{$ISSM_EXT_DIR}/tao/install"
+if ( -d "{$TAO_ROOT}" ) then
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$TAO_ROOT}/lib"
+endif
+
+set DAKOTA_ROOT="{$ISSM_EXT_DIR}/dakota/install"
+if ( -d "{$DAKOTA_ROOT}" ) then
+	setenv PATH "{$PATH}:{$DAKOTA_ROOT}/bin"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$DAKOTA_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DAKOTA_ROOT}/lib:{$DYLD_LIBRARY_PATH}"
+endif
+
+set MERCURIAL_ROOT="{$ISSM_EXT_DIR}/mercurial/install"
+if ( -d {$MERCURIAL_ROOT} ) then
+	setenv PYTHONPATH "{$PYTHONPATH}:{$MERCURIAL_ROOT}/mercurial/pure"
+	setenv PATH "{$PATH}:{$MERCURIAL_ROOT}"
+endif
+
+set BOOST_ROOT="{$ISSM_EXT_DIR}/boost/install"
+if ( -d {$BOOST_ROOT} ) then
+	setenv BOOST_ROOT {$BOOST_ROOT} # Used in installation of Dakota
+	setenv BOOST_DIR {$BOOST_ROOT}
+	setenv BOOSTROOT {$BOOST_ROOT}
+	setenv LIBRARY_PATH "{$BOOST_ROOT}/lib:{$LIBRARY_PATH}"
+	setenv LD_LIBRARY_PATH "{$BOOST_ROOT}/lib:{$LD_LIBRARY_PATH}"
+	setenv DYLD_LIBRARY_PATH "{$BOOST_ROOT}/lib:{$DYLD_LIBRARY_PATH}"
+	setenv PATH "{$BOOST_ROOT}/bin:{$PATH}"
+endif
+
+set GSL_ROOT="{$ISSM_EXT_DIR}/gsl/install"
+if ( -d {$GSL_ROOT} ) then
+	setenv GSL_HOME "{$GSL_ROOT}" # Used in installation of Dakota
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$GSL_ROOT}/lib"
+endif
+
+set NETCDF_ROOT="{$ISSM_EXT_DIR}/netcdf/install"
+if ( -d "{$NETCDF_ROOT}" ) then
+	setenv NETCDF_ROOT "{$NETCDF_ROOT}" # Used in installation of GDAL, GMT
+	setenv PATH "{$PATH}:{$NETCDF_ROOT}/bin"
+	setenv CPATH "{$CPATH}:{$NETCDF_ROOT}/include"
+	setenv LIBRARY_PATH "{$LIBRARY_PATH}:{$NETCDF_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$NETCDF_ROOT}/lib"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$NETCDF_ROOT}/lib"
+endif
+
+set CURL_ROOT="{$ISSM_EXT_DIR}/curl/install"
+if ( -d "{$CURL_ROOT}" ) then
+	setenv CURL_ROOT "{$CURL_ROOT}" # Used in installation of NetCDF, GDAL, GMT
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$CURL_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$CURL_ROOT}/lib"
+	setenv PATH "{$PATH}:{$CURL_ROOT}/bin"
+endif
+
+set HDF5_ROOT="{$ISSM_EXT_DIR}/hdf5/install"
+if ( -d "{$HDF5_ROOT}" ) then
+	setenv HDF5_ROOT "{$HDF5_ROOT}" # Used in installation of NetCDF, GDAL
+	setenv CPATH "{$CPATH}:{$HDF5_ROOT}/include"
+	setenv LIBRARY_PATH "{$LIBRARY_PATH}:{$HDF5_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$HDF5_ROOT}/lib"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$HDF5_ROOT}/lib"
+endif
+
+set SQLITE_ROOT="{$ISSM_EXT_DIR}/sqlite/install"
+if ( -d "{$SQLITE_ROOT}" ) then
+	setenv PATH "{$PATH}:{$SQLITE_ROOT}/bin"
+	setenv LIBRARY_PATH "{$LIBRARY_PATH}:{$SQLITE_ROOT}/lib"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$SQLITE_ROOT}/lib"
+endif
+
+set PROJ_ROOT="{$ISSM_EXT_DIR}/proj/install"
+if ( -d "{$PROJ_ROOT}" ) then
+	setenv PROJ_ROOT "${PROJ_ROOT}" # Used in installation of GDAL
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$PROJ_ROOT}/lib"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$PROJ_ROOT}/lib"
+endif
+
+set GDAL_ROOT="{$ISSM_EXT_DIR}/gdal/install"
+if ( -d "{$GDAL_ROOT}" ) then
+	setenv GDAL_ROOT "{$GDAL_ROOT}" # Used in installation of GMT
+	setenv PATH "{$GDAL_ROOT}/bin:{$PATH}"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$GDAL_ROOT}/lib"
+endif
+
+set GSHHG_ROOT="{$ISSM_EXT_DIR}/gshhg/install"
+if ( -d "{$GSHHG_ROOT}" ) then
+	setenv GSHHG_ROOT "{$GSHHG_ROOT}" # Used in installation of GMT
+endif
+
+set GMT_ROOT="{$ISSM_EXT_DIR}/gmt/install"
+if ( -d "{$GMT_ROOT}" ) then
+	setenv PATH "{$GMT_ROOT}/bin:{$PATH}"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$GMT_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$GMT_ROOT}/lib"
+endif
+
+set GMSH_ROOT="{$ISSM_EXT_DIR}/gmsh/install"
+if ( -d "{$GMSH_ROOT}" ) then
+	setenv PATH "{$GMSH_ROOT}/bin:{$PATH}"
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$GMSH_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$GMSH_ROOT}/lib"
+endif
+
+set TRIANGLE_ROOT="{$ISSM_EXT_DIR}/triangle/install"
+if ( -d "{$TRIANGLE_ROOT}" ) then
+	setenv LD_LIBRARY_PATH "{$LD_LIBRARY_PATH}:{$TRIANGLE_ROOT}/lib"
+	setenv DYLD_LIBRARY_PATH "{$DYLD_LIBRARY_PATH}:{$TRIANGLE_ROOT}/lib"
+endif
+
+set YAMS_ROOT="{$ISSM_EXT_DIR}/yams/install"
+if ( -d {$YAMS_ROOT} ) then
+	setenv PATH "{$PATH}:{$YAMS_ROOT}"
+endif
+
+set VALGRIND_ROOT="{$ISSM_EXT_DIR}/valgrind/install"
+if ( -d {$VALGRIND_ROOT} ) then
+	setenv PATH "{$VALGRIND_ROOT}/bin:{$PATH}"
+endif
+
+set DOXYGEN_ROOT="{$ISSM_EXT_DIR}/doxygen/install"
+if ( -d {$DOXYGEN_ROOT} ) then
+	setenv PATH "{$DOXYGEN_ROOT}/bin:{$PATH}"
+endif
+
+set SHELL2JUNIT_ROOT="{$ISSM_EXT_DIR}/shell2junit/install"
+if ( -d {$SHELL2JUNIT_ROOT} ) then
+	setenv PATH "{$PATH}:{$SHELL2JUNIT_ROOT}/install"
+endif
Index: /issm/trunk-jpl/etc/environment.sh
===================================================================
--- /issm/trunk-jpl/etc/environment.sh	(revision 25912)
+++ /issm/trunk-jpl/etc/environment.sh	(revision 25913)
@@ -10,5 +10,5 @@
 #
 
-# Silence no `zsh: no matches found: <file>`
+# Silence `zsh: no matches found: <file>`
 setopt +o nomatch 1> /dev/null 2>&1
 
@@ -17,5 +17,5 @@
 c_include_path_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $C_INCLUDE_PATH ]; then
+		if [ -z "${C_INCLUDE_PATH}" ]; then
 			export C_INCLUDE_PATH="${1}"
 		elif [[ ":${C_INCLUDE_PATH}:" != *":${1}:"* ]]; then
@@ -26,5 +26,5 @@
 c_include_path_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $C_INCLUDE_PATH ]; then
+		if [ -z "${C_INCLUDE_PATH}" ]; then
 			export C_INCLUDE_PATH="${1}"
 		elif [[ ":${C_INCLUDE_PATH}:" != *":${1}:"* ]]; then
@@ -36,5 +36,5 @@
 cpath_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $CPATH ]; then
+		if [ -z "${CPATH}" ]; then
 			export CPATH="${1}"
 		elif [[ ":${CPATH}:" != *":${1}:"* ]]; then
@@ -45,5 +45,5 @@
 cpath_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $CPATH ]; then
+		if [ -z "${CPATH}" ]; then
 			export CPATH="${1}"
 		elif [[ ":${CPATH}:" != *":${1}:"* ]]; then
@@ -55,5 +55,5 @@
 cplus_include_path_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $CPLUS_INCLUDE_PATH ]; then
+		if [ -z "${CPLUS_INCLUDE_PATH}" ]; then
 			export CPLUS_INCLUDE_PATH="${1}"
 		elif [[ ":${CPLUS_INCLUDE_PATH}:" != *":${1}:"* ]]; then
@@ -64,5 +64,5 @@
 cplus_include_path_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $CPLUS_INCLUDE_PATH ]; then
+		if [ -z "${CPLUS_INCLUDE_PATH}" ]; then
 			export CPLUS_INCLUDE_PATH="${1}"
 		elif [[ ":${CPLUS_INCLUDE_PATH}:" != *":${1}:"* ]]; then
@@ -74,10 +74,10 @@
 dyld_library_path_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $DYLD_LIBRARY_PATH ]; then
+		if [ -z "${DYLD_LIBRARY_PATH}" ]; then
 			export DYLD_LIBRARY_PATH="${1}"
 		elif [[ ":${DYLD_LIBRARY_PATH}:" != *":${1}:"* ]]; then
 			export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}:${1}"
 		fi
-		if [ -z $LD_RUN_PATH ]; then
+		if [ -z "${LD_RUN_PATH}" ]; then
 			export LD_RUN_PATH=$1
 		elif [[ ":${LD_RUN_PATH}:" != *":${1}:"* ]]; then
@@ -88,10 +88,10 @@
 dyld_library_path_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $DYLD_LIBRARY_PATH ]; then
+		if [ -z "${DYLD_LIBRARY_PATH}" ]; then
 			export DYLD_LIBRARY_PATH="${1}"
 		elif [[ ":${DYLD_LIBRARY_PATH}:" != *":${1}:"* ]]; then
 			export DYLD_LIBRARY_PATH="${1}:${DYLD_LIBRARY_PATH}"
 		fi
-		if [ -z $LD_RUN_PATH ]; then
+		if [ -z "${LD_RUN_PATH}" ]; then
 			export LD_RUN_PATH="${1}"
 		elif [[ ":${LD_RUN_PATH}:" != *":${1}:"* ]]; then
@@ -103,10 +103,10 @@
 ld_library_path_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $LD_LIBRARY_PATH ]; then
+		if [ -z "${LD_LIBRARY_PATH}" ]; then
 			export LD_LIBRARY_PATH="${1}"
 		elif [[ ":${LD_LIBRARY_PATH}:" != *":${1}:"* ]]; then
 			export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${1}"
 		fi
-		if [ -z $LD_RUN_PATH ]; then
+		if [ -z "${LD_RUN_PATH}" ]; then
 			export LD_RUN_PATH="${1}"
 		elif [[ ":${LD_RUN_PATH}:" != *":$1:"* ]]; then
@@ -117,10 +117,10 @@
 ld_library_path_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $LD_LIBRARY_PATH ]; then
+		if [ -z "${LD_LIBRARY_PATH}" ]; then
 			export LD_LIBRARY_PATH="${1}"
 		elif [[ ":${LD_LIBRARY_PATH}:" != *":${1}:"* ]]; then
 			export LD_LIBRARY_PATH="${1}:${LD_LIBRARY_PATH}"
 		fi
-		if [ -z $LD_RUN_PATH ]; then
+		if [ -z "${LD_RUN_PATH}" ]; then
 			export LD_RUN_PATH="${1}"
 		elif [[ ":${LD_RUN_PATH}:" != *":${1}:"* ]]; then
@@ -132,5 +132,5 @@
 library_path_append(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $LIBRARY_PATH ]; then
+		if [ -z "${LIBRARY_PATH}" ]; then
 			export LIBRARY_PATH="${1}"
 		elif [[ ":${LIBRARY_PATH}:" != *":$1:"* ]]; then
@@ -141,5 +141,5 @@
 library_path_prepend(){ #{{{
 	if [ -d "${1}" ]; then
-		if [ -z $LIBRARY_PATH ]; then
+		if [ -z "${LIBRARY_PATH}" ]; then
 			export LIBRARY_PATH="${1}"
 		elif [[ ":${LIBRARY_PATH}:" != *":$1:"* ]]; then
@@ -173,5 +173,5 @@
 fi
 
-# ISSM scripts
+path_append "${ISSM_DIR}/aux-config"
 path_append "${ISSM_DIR}/scripts"
 
@@ -182,5 +182,7 @@
 #########################
 SSH_ROOT="${ISSM_EXT_DIR}/ssh"
-path_append "${SSH_ROOT}"
+if [ -d "${SSH_ROOT}" ]; then
+	path_append "${SSH_ROOT}"
+fi
 
 SVN_ROOT="${ISSM_EXT_DIR}/svn/install"
@@ -552,4 +554,4 @@
 path_prepend "${DOXYGEN_ROOT}/bin"
 
-path_append "${ISSM_DIR}/aux-config"
-path_append "${ISSM_EXT_DIR}/shell2junit/install"
+SHELL2JUNIT_ROOT="${ISSM_EXT_DIR}/shell2junit/install"
+path_append "${SHELL2JUNIT_ROOT}"
