 autoconf/colpack.m4 | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/autoconf/colpack.m4 b/autoconf/colpack.m4
index 9792786..bd4ba5e 100644
--- a/autoconf/colpack.m4
+++ b/autoconf/colpack.m4
@@ -8,20 +8,20 @@ AC_ARG_WITH(colpack,
 AS_HELP_STRING([--with-colpack=DIR],[path to the colpack library and headers [default=system libraries]])],
 [
 colpack=$withval
-COLPACK_CFLAGS="-I$colpack/include"
-if test x${_lib} != xlib ; then
-   D[[0]]="$colpack/${_lib}"
-   D[[1]]="$colpack/lib"
-else
-   D[[0]]="$colpack/${_lib}"
-fi
 ],
 [
 COLPACK_CFLAGS=""
 COLPACK_LIBS="-lColPack"
 D[[0]]=""
 ])
-
+if test x$colpack != xno; then
+COLPACK_CFLAGS="-I$colpack/include"
+if test x${_lib} != xlib ; then
+   D[[0]]="$colpack/${_lib}"
+   D[[1]]="$colpack/lib"
+else
+   D[[0]]="$colpack/${_lib}"
+fi
 AC_LANG_PUSH([C++])
 save_CXXFLAGS="$CXXFLAGS"
 save_CPPFLAGS="$CPPFLAGS"
@@ -33,8 +33,8 @@ have_colpackheaders=no
 CPPFLAGS="$save_CPPFLAGS"
 CXXFLAGS="$save_CXXFLAGS"
 ])
-for ((i=0; i < ${#D[@]} ; i++)); do
-COLPACK_LIBDIR="${D[[$i]]}"
+for i in ${D[@]}; do
+COLPACK_LIBDIR="${i}"
 if test -n "$COLPACK_LIBDIR" ; then
 COLPACK_LIBS="-L$COLPACK_LIBDIR -lColPack -Wl,-rpath,$COLPACK_LIBDIR"
 fi
@@ -56,6 +56,9 @@ else
 fi
 done
 AC_LANG_POP([C++])
+else
+    have_colpack=no
+fi
 
 AM_CONDITIONAL(HAVE_LIBCOLPACK,[test x$have_colpack = xyes])
 if test x$have_colpack = xyes; then 
