]> git.ipfire.org Git - people/ms/bricklayer.git/commitdiff
configure: Check for required Python modules
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 19 Nov 2022 12:15:01 +0000 (12:15 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 19 Nov 2022 12:15:01 +0000 (12:15 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
configure.ac
m4/ax_python_module.m4 [new file with mode: 0644]

index 1af49e5c2f7641988247616386ddfbdae9e39ca2..05f5a7a22b278d37d0a464c949bd6382b22a24a6 100644 (file)
@@ -38,6 +38,13 @@ m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-conf
 AC_PROG_SED
 AC_PROG_MKDIR_P
 
+# - Python modules -------------------------------------------------------------
+
+AX_PYTHON_MODULE([pakfire], [fatal])
+AX_PYTHON_MODULE([parted], [fatal])
+AX_PYTHON_MODULE([pytz], [fatal])
+AX_PYTHON_MODULE([snack], [fatal])
+
 # - systemd --------------------------------------------------------------------
 
 AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR],
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
+])