2 dnl # Determines if pyzfs can be built, requires Python 2.7 or latter.
4 AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
6 AC_HELP_STRING([--enable-pyzfs],
7 [install libzfs_core python bindings @<:@default=check@:>@]),
8 [enable_pyzfs=$enableval],
12 dnl # Packages for pyzfs specifically enabled/disabled.
14 AS_IF([test "x$enable_pyzfs" != xcheck], [
15 AS_IF([test "x$enable_pyzfs" = xyes], [
16 DEFINE_PYZFS='--with pyzfs'
18 DEFINE_PYZFS='--without pyzfs'
23 AC_SUBST(DEFINE_PYZFS)
26 dnl # Require python-devel libraries
28 AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
29 AS_IF([test "${PYTHON_VERSION:0:2}" = "2."], [
30 PYTHON_REQUIRED_VERSION=">= '2.7.0'"
32 AS_IF([test "${PYTHON_VERSION:0:2}" = "3."], [
33 PYTHON_REQUIRED_VERSION=">= '3.4.0'"
35 AC_MSG_ERROR("Python $PYTHON_VERSION unknown")
39 AX_PYTHON_DEVEL([$PYTHON_REQUIRED_VERSION], [
40 AS_IF([test "x$enable_pyzfs" = xyes], [
41 AC_MSG_ERROR("Python $PYTHON_REQUIRED_VERSION development library is not installed")
42 ], [test ! "x$enable_pyzfs" = xno], [
49 dnl # Python "setuptools" module is required to build and install pyzfs
51 AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
52 ZFS_AC_PYTHON_MODULE([setuptools], [], [
53 AS_IF([test "x$enable_pyzfs" = xyes], [
54 AC_MSG_ERROR("Python $PYTHON_VERSION setuptools is not installed")
55 ], [test ! "x$enable_pyzfs" = xno], [
62 dnl # Python "cffi" module is required to run pyzfs
64 AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
65 ZFS_AC_PYTHON_MODULE([cffi], [], [
66 AS_IF([test "x$enable_pyzfs" = xyes], [
67 AC_MSG_ERROR("Python $PYTHON_VERSION cffi is not installed")
68 ], [test ! "x$enable_pyzfs" = xno], [
75 dnl # Set enable_pyzfs to 'yes' if every check passed
77 AS_IF([test "x$enable_pyzfs" = xcheck], [enable_pyzfs=yes])
79 AM_CONDITIONAL([PYZFS_ENABLED], [test x$enable_pyzfs = xyes])
80 AC_SUBST([PYZFS_ENABLED], [$enable_pyzfs])
81 AC_SUBST(pythonsitedir, [$PYTHON_SITE_PKG])
83 AC_MSG_CHECKING([whether to enable pyzfs: ])
84 AC_MSG_RESULT($enable_pyzfs)