Add checking of python modules at ./configure time
authorIustin Pop <iustin@google.com>
Mon, 26 Nov 2007 15:48:37 +0000 (15:48 +0000)
committerIustin Pop <iustin@google.com>
Mon, 26 Nov 2007 15:48:37 +0000 (15:48 +0000)
This patch adds checking for our external python modules at the
./configure stage, as it's better to check than rely on documentation.

The patch adds one autoconf macro from the autoconf macro archive
(http://autoconf-archive.cryp.to)

Reviewed-by: imsnah

Makefile.am
autogen.sh
autotools/ac_python_module.m4 [new file with mode: 0644]
configure.ac

index bd14289..7365c8b 100644 (file)
@@ -1,3 +1,5 @@
+ACLOCAL_AMFLAGS = -I autotools
+
 SUBDIRS = man lib scripts daemons doc test tools qa
 EXTRA_DIST = NEWS DEVNOTES
 
index bbda39c..6b5fe37 100755 (executable)
@@ -10,7 +10,7 @@ set -e
 rm -rf config.cache autom4te.cache
 mkdir -p autotools
 
-aclocal-1.9
+aclocal-1.9 -I autotools
 autoconf
 automake-1.9 --add-missing -Wall -Wno-portability
 
diff --git a/autotools/ac_python_module.m4 b/autotools/ac_python_module.m4
new file mode 100644 (file)
index 0000000..6892e8f
--- /dev/null
@@ -0,0 +1,48 @@
+##### http://autoconf-archive.cryp.to/ac_python_module.html
+#
+# SYNOPSIS
+#
+#   AC_PYTHON_MODULE(modname[, fatal])
+#
+# DESCRIPTION
+#
+#   Checks for Python module.
+#
+#   If fatal is non-empty then absence of a module will trigger an
+#   error.
+#
+# LAST MODIFICATION
+#
+#   2007-01-09
+#
+# COPYLEFT
+#
+#   Copyright (c) 2007 Andrew Collier <colliera@ukzn.ac.za>
+#
+#   Copying and distribution of this file, with or without
+#   modification, are permitted in any medium without royalty provided
+#   the copyright notice and this notice are preserved.
+
+AC_DEFUN([AC_PYTHON_MODULE],[
+    if test -z $PYTHON;
+    then
+        PYTHON="python"
+    fi
+    PYTHON_NAME=`basename $PYTHON`
+    AC_MSG_CHECKING($PYTHON_NAME module: $1)
+       $PYTHON -c "import $1" 2>/dev/null
+       if test $? -eq 0;
+       then
+               AC_MSG_RESULT(yes)
+               eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
+       else
+               AC_MSG_RESULT(no)
+               eval AS_TR_CPP(HAVE_PYMOD_$1)=no
+               #
+               if test -n "$2"
+               then
+                       AC_MSG_ERROR(failed to find required module $1)
+                       exit 1
+               fi
+       fi
+])
index d39cfaa..5fe8e6c 100644 (file)
@@ -60,6 +60,13 @@ AC_PROG_LN_S
 # Check for Python
 AM_PATH_PYTHON(2.4)
 
+AC_PYTHON_MODULE(twisted.internet, t)
+AC_PYTHON_MODULE(twisted.cred, t)
+AC_PYTHON_MODULE(twisted.spread, t)
+AC_PYTHON_MODULE(OpenSSL, t)
+AC_PYTHON_MODULE(simplejson, t)
+AC_PYTHON_MODULE(pyparsing, t)
+
 # Check for docbook2man
 found_docbook2man=
 AC_CHECK_PROG(found_docbook2man, [docbook2man], [yes])