configure: Move down to Python 3.4 and check presence of some python modules
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 11 Oct 2018 10:17:04 +0000 (11:17 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 11 Oct 2018 10:17:04 +0000 (11:17 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
.gitignore
configure.ac
m4/ax_python_module.m4 [new file with mode: 0644]

index 768ef03..2a44160 100644 (file)
@@ -4,7 +4,6 @@
 /build-aux
 /configure
 /config.*
-/m4
 /src/scss/main.css
 /src/scripts/ipfire.org
 /src/scripts/ipfire.org-webapp
index 2acd795..e2a146f 100644 (file)
@@ -6,6 +6,7 @@ AC_INIT([ipfire.org],
        [ipfire.org],
        [https://www.ipfire.org/])
 
+AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_AUX_DIR([build-aux])
 
 AC_PREFIX_DEFAULT([/usr])
@@ -26,7 +27,15 @@ AC_PROG_MKDIR_P
 AC_PROG_SED
 
 # Python
-AM_PATH_PYTHON([3.5])
+AM_PATH_PYTHON([3.4])
+
+# Python modules
+AX_PYTHON_MODULE([hwdata],[])
+AX_PYTHON_MODULE([iso3166],[])
+AX_PYTHON_MODULE([markdown2],[])
+AX_PYTHON_MODULE([memcached],[])
+AX_PYTHON_MODULE([textile],[])
+AX_PYTHON_MODULE([tornado],[])
 
 # scss
 AC_CHECK_PROG(SASSC, [sassc], [sassc])
diff --git a/m4/ax_python_module.m4 b/m4/ax_python_module.m4
new file mode 100644 (file)
index 0000000..f0f873d
--- /dev/null
@@ -0,0 +1,56 @@
+# ===========================================================================
+#     https://www.gnu.org/software/autoconf-archive/ax_python_module.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PYTHON_MODULE(modname[, fatal, python])
+#
+# DESCRIPTION
+#
+#   Checks for Python module.
+#
+#   If fatal is non-empty then absence of a module will trigger an error.
+#   The third parameter can either be "python" for Python 2 or "python3" for
+#   Python 3; defaults to Python 3.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Andrew Collier
+#
+#   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. This file is offered as-is, without any
+#   warranty.
+
+#serial 9
+
+AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
+AC_DEFUN([AX_PYTHON_MODULE],[
+    if test -z $PYTHON;
+    then
+        if test -z "$3";
+        then
+            PYTHON="python3"
+        else
+            PYTHON="$3"
+        fi
+    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
+])