aboutsummaryrefslogtreecommitdiffstats
path: root/config/always-pyzfs.m4
diff options
context:
space:
mode:
authorRyan Moeller <[email protected]>2019-06-13 13:15:46 -0700
committerBrian Behlendorf <[email protected]>2019-06-13 13:15:46 -0700
commitb1b4ac27082aede8522e479c87897026519f1dd7 (patch)
treeba16427f7a05b825c2f235c9cbbb1d165ab11c4b /config/always-pyzfs.m4
parent7218b29e4bb86fb8f17459f355b609e23c6aaa54 (diff)
Python config cleanup
Don't require Python at configure/build unless building pyzfs. Move ZFS_AC_PYTHON_MODULE to always-pyzfs.m4 where it is used. Make test syntax more consistent. Sponsored by: iXsystems, Inc. Reviewed-by: Neal Gompa <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Ryan Moeller <[email protected]> Closes #8895
Diffstat (limited to 'config/always-pyzfs.m4')
-rw-r--r--config/always-pyzfs.m445
1 files changed, 30 insertions, 15 deletions
diff --git a/config/always-pyzfs.m4 b/config/always-pyzfs.m4
index 6f32e98fe..f620a8f9a 100644
--- a/config/always-pyzfs.m4
+++ b/config/always-pyzfs.m4
@@ -1,5 +1,24 @@
dnl #
-dnl # Determines if pyzfs can be built, requires Python 2.7 or latter.
+dnl # ZFS_AC_PYTHON_MODULE(module_name, [action-if-true], [action-if-false])
+dnl #
+dnl # Checks for Python module. Freely inspired by AX_PYTHON_MODULE
+dnl # https://www.gnu.org/software/autoconf-archive/ax_python_module.html
+dnl # Required by ZFS_AC_CONFIG_ALWAYS_PYZFS.
+dnl #
+AC_DEFUN([ZFS_AC_PYTHON_MODULE], [
+ PYTHON_NAME=$(basename $PYTHON)
+ AC_MSG_CHECKING([for $PYTHON_NAME module: $1])
+ AS_IF([$PYTHON -c "import $1" 2>/dev/null], [
+ AC_MSG_RESULT(yes)
+ m4_ifvaln([$2], [$2])
+ ], [
+ AC_MSG_RESULT(no)
+ m4_ifvaln([$3], [$3])
+ ])
+])
+
+dnl #
+dnl # Determines if pyzfs can be built, requires Python 2.7 or later.
dnl #
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
AC_ARG_ENABLE([pyzfs],
@@ -18,7 +37,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
DEFINE_PYZFS='--without pyzfs'
])
], [
- AS_IF([test $PYTHON != :], [
+ AS_IF([test "$PYTHON" != :], [
DEFINE_PYZFS=''
], [
enable_pyzfs=no
@@ -31,20 +50,16 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
dnl # Require python-devel libraries
dnl #
AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
- AS_IF([ZFS_AC_PYTHON_VERSION_IS_2], [
- PYTHON_REQUIRED_VERSION=">= '2.7.0'"
- ], [
- AS_IF([ZFS_AC_PYTHON_VERSION_IS_3], [
- PYTHON_REQUIRED_VERSION=">= '3.4.0'"
- ], [
- AC_MSG_ERROR("Python $PYTHON_VERSION unknown")
- ])
- ])
+ AS_CASE([$PYTHON_VERSION],
+ [3.*], [PYTHON_REQUIRED_VERSION=">= '3.4.0'"],
+ [2.*], [PYTHON_REQUIRED_VERSION=">= '2.7.0'"],
+ [AC_MSG_ERROR("Python $PYTHON_VERSION unknown")]
+ )
AX_PYTHON_DEVEL([$PYTHON_REQUIRED_VERSION], [
AS_IF([test "x$enable_pyzfs" = xyes], [
AC_MSG_ERROR("Python $PYTHON_REQUIRED_VERSION development library is not installed")
- ], [test ! "x$enable_pyzfs" = xno], [
+ ], [test "x$enable_pyzfs" != xno], [
enable_pyzfs=no
])
])
@@ -57,7 +72,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
ZFS_AC_PYTHON_MODULE([setuptools], [], [
AS_IF([test "x$enable_pyzfs" = xyes], [
AC_MSG_ERROR("Python $PYTHON_VERSION setuptools is not installed")
- ], [test ! "x$enable_pyzfs" = xno], [
+ ], [test "x$enable_pyzfs" != xno], [
enable_pyzfs=no
])
])
@@ -70,7 +85,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
ZFS_AC_PYTHON_MODULE([cffi], [], [
AS_IF([test "x$enable_pyzfs" = xyes], [
AC_MSG_ERROR("Python $PYTHON_VERSION cffi is not installed")
- ], [test ! "x$enable_pyzfs" = xno], [
+ ], [test "x$enable_pyzfs" != xno], [
enable_pyzfs=no
])
])
@@ -81,7 +96,7 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
dnl #
AS_IF([test "x$enable_pyzfs" = xcheck], [enable_pyzfs=yes])
- AM_CONDITIONAL([PYZFS_ENABLED], [test x$enable_pyzfs = xyes])
+ AM_CONDITIONAL([PYZFS_ENABLED], [test "x$enable_pyzfs" = xyes])
AC_SUBST([PYZFS_ENABLED], [$enable_pyzfs])
AC_SUBST(pythonsitedir, [$PYTHON_SITE_PKG])