From e0aca18f687e9f49223ffb24b9be354bed4b150a Mon Sep 17 00:00:00 2001
From: Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>
Date: Wed, 25 Feb 2015 10:49:08 +0100
Subject: Add logging for python module checks

---
 build/linux/acinclude.m4 | 12 ++++++++++++
 build/linux/configure.ac | 28 ++++++++++++++++------------
 2 files changed, 28 insertions(+), 12 deletions(-)

(limited to 'build/linux')

diff --git a/build/linux/acinclude.m4 b/build/linux/acinclude.m4
index 713b5d3..e4b6de7 100644
--- a/build/linux/acinclude.m4
+++ b/build/linux/acinclude.m4
@@ -70,6 +70,18 @@ AC_DEFUN([ASTRA_RUN_LOGOUTPUT],[{
  }])
 
 
+dnl ASTRA_TRY_PYTHON(code, action-if-ok, action-if-not-ok)
+AC_DEFUN([ASTRA_TRY_PYTHON],[
+cat >conftest.py <<_ACEOF
+$1
+_ACEOF
+ASTRA_RUN_LOGOUTPUT($PYTHON conftest.py)
+AS_IF([test $? = 0],[$2],[
+  AS_ECHO(["$as_me: failed program was:"]) >&AS_MESSAGE_LOG_FD
+  sed 's/^/| /' conftest.py >&AS_MESSAGE_LOG_FD
+  $3])
+])
+
 
 dnl ASTRA_CHECK_NVCC(variable-to-set,cppflags-to-set)
 AC_DEFUN([ASTRA_CHECK_NVCC],[
diff --git a/build/linux/configure.ac b/build/linux/configure.ac
index 525ca9d..b97a7a0 100644
--- a/build/linux/configure.ac
+++ b/build/linux/configure.ac
@@ -180,26 +180,30 @@ if test x"$with_python" != x -a x"$with_python" != xno; then
   HAVEPYTHON=yes
   AC_SUBST(PYTHON)
   AC_MSG_CHECKING(for numpy module)
-  echo "import numpy" | $PYTHON -
-  if test $? -ne 0 ; then
-    AC_MSG_RESULT(not found)
+  ASTRA_TRY_PYTHON([import numpy],,HAVEPYTHON=no)
+  if test x$HAVEPYTHON = xno; then
+    AC_MSG_RESULT(no)
     AC_MSG_ERROR(You need the numpy module to use the ASTRA toolbox in Python)
   fi
-  AC_MSG_RESULT(found)
+  AC_MSG_RESULT(yes)
   AC_MSG_CHECKING(for Cython module)
-  echo "import Cython;from distutils.version import LooseVersion;assert(LooseVersion(Cython.__version__)>=LooseVersion('0.13'))" | $PYTHON -
-  if test $? -ne 0 ; then
-    AC_MSG_RESULT(not found)
+  ASTRA_TRY_PYTHON([
+import Cython
+from distutils.version import LooseVersion
+assert(LooseVersion(Cython.__version__)>=LooseVersion("0.13"))
+],,HAVEPYTHON=no)
+  if test x$HAVEPYTHON = xno; then
+    AC_MSG_RESULT(no)
     AC_MSG_ERROR(You need the Cython module (version >=0.13) to use the ASTRA toolbox in Python)
   fi
-  AC_MSG_RESULT(found)
+  AC_MSG_RESULT(yes)
   AC_MSG_CHECKING(for six module)
-  echo "import six" | $PYTHON -
-  if test $? -ne 0 ; then
-    AC_MSG_RESULT(not found)
+  ASTRA_TRY_PYTHON([import six])
+  if test x$HAVEPYTHON = xno; then
+    AC_MSG_RESULT(no)
     AC_MSG_ERROR(You need the six module to use the ASTRA toolbox in Python)
   fi
-  AC_MSG_RESULT(found)
+  AC_MSG_RESULT(yes)
 fi
 
 AC_SUBST(HAVEPYTHON)
-- 
cgit v1.2.3