From 6e06b36c90ad1bb02fb07dcd948be36e16d5b35f Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Mon, 26 Nov 2007 15:48:37 +0000 Subject: [PATCH] Add checking of python modules at ./configure time 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 | 2 ++ autogen.sh | 2 +- autotools/ac_python_module.m4 | 48 +++++++++++++++++++++++++++++++++++ configure.ac | 7 +++++ 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 autotools/ac_python_module.m4 diff --git a/Makefile.am b/Makefile.am index bd1428966..7365c8b36 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I autotools + SUBDIRS = man lib scripts daemons doc test tools qa EXTRA_DIST = NEWS DEVNOTES diff --git a/autogen.sh b/autogen.sh index bbda39c6e..6b5fe3716 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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 index 000000000..6892e8f0a --- /dev/null +++ b/autotools/ac_python_module.m4 @@ -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 +]) diff --git a/configure.ac b/configure.ac index d39cfaa35..5fe8e6cc1 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) -- GitLab