diff --git a/cmd/Makefile.am b/cmd/Makefile.am index 9dd7b8b4f..0d990789b 100644 --- a/cmd/Makefile.am +++ b/cmd/Makefile.am @@ -1,3 +1,8 @@ SUBDIRS = zfs zpool zdb zhack zinject zstreamdump ztest -SUBDIRS += mount_zfs fsck_zfs zvol_id vdev_id arcstat dbufstat zed -SUBDIRS += arc_summary raidz_test zgenhostid +SUBDIRS += fsck_zfs vdev_id raidz_test zgenhostid + +if USING_PYTHON +SUBDIRS += arcstat arc_summary dbufstat +endif + +SUBDIRS += mount_zfs zed zvol_id diff --git a/config/always-python.m4 b/config/always-python.m4 index 858ab7b01..7cfefd9eb 100644 --- a/config/always-python.m4 +++ b/config/always-python.m4 @@ -12,6 +12,17 @@ AC_DEFUN([ZFS_AC_PYTHON_VERSION], [ ]) ]) +dnl # +dnl # ZFS_AC_PYTHON_VERSION_IS_2 +dnl # ZFS_AC_PYTHON_VERSION_IS_3 +dnl # +dnl # Tests if the $PYTHON_VERSION matches 2.x or 3.x. +dnl # +AC_DEFUN([ZFS_AC_PYTHON_VERSION_IS_2], + [test "${PYTHON_VERSION%%\.*}" = "2"]) +AC_DEFUN([ZFS_AC_PYTHON_VERSION_IS_3], + [test "${PYTHON_VERSION%%\.*}" = "3"]) + dnl # dnl # ZFS_AC_PYTHON_MODULE(module_name, [action-if-true], [action-if-false]) dnl # @@ -46,42 +57,36 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYTHON], [ [with_python=check]) AS_CASE([$with_python], - [check], - [AS_IF([test -x /usr/bin/python3], - [PYTHON="python3"], - [AS_IF([test -x /usr/bin/python2], - [PYTHON="python2"], - [PYTHON=""] - )] - )], + [check], [AC_CHECK_PROGS([PYTHON], [python3 python2], [:])], [2*], [PYTHON="python${with_python}"], [*python2*], [PYTHON="${with_python}"], [3*], [PYTHON="python${with_python}"], [*python3*], [PYTHON="${with_python}"], - [no], [PYTHON=""], + [no], [PYTHON=":"], [AC_MSG_ERROR([Unknown --with-python value '$with_python'])] ) - AS_IF([$PYTHON --version >/dev/null 2>&1], [ /bin/true ], [ - AC_MSG_ERROR([Cannot find $PYTHON in your system path]) + AS_IF([test $PYTHON != :], [ + AS_IF([$PYTHON --version >/dev/null 2>&1], + [AM_PATH_PYTHON([2.6], [], [:])], + [AC_MSG_ERROR([Cannot find $PYTHON in your system path])] + ) ]) - - AM_PATH_PYTHON([2.6], [], [:]) AM_CONDITIONAL([USING_PYTHON], [test "$PYTHON" != :]) - AM_CONDITIONAL([USING_PYTHON_2], [test "${PYTHON_VERSION:0:2}" = "2."]) - AM_CONDITIONAL([USING_PYTHON_3], [test "${PYTHON_VERSION:0:2}" = "3."]) + AM_CONDITIONAL([USING_PYTHON_2], [ZFS_AC_PYTHON_VERSION_IS_2]) + AM_CONDITIONAL([USING_PYTHON_3], [ZFS_AC_PYTHON_VERSION_IS_3]) dnl # dnl # Minimum supported Python versions for utilities: dnl # Python 2.6.x, or Python 3.4.x dnl # - AS_IF([test "${PYTHON_VERSION:0:2}" = "2."], [ - ZFS_AC_PYTHON_VERSION([>= '2.6'], [ /bin/true ], + AS_IF([ZFS_AC_PYTHON_VERSION_IS_2], [ + ZFS_AC_PYTHON_VERSION([>= '2.6'], [ true ], [AC_MSG_ERROR("Python >= 2.6.x is not available")]) ]) - AS_IF([test "${PYTHON_VERSION:0:2}" = "3."], [ - ZFS_AC_PYTHON_VERSION([>= '3.4'], [ /bin/true ], + AS_IF([ZFS_AC_PYTHON_VERSION_IS_3], [ + ZFS_AC_PYTHON_VERSION([>= '3.4'], [ true ], [AC_MSG_ERROR("Python >= 3.4.x is not available")]) ]) diff --git a/config/always-pyzfs.m4 b/config/always-pyzfs.m4 index d74d6f1a7..6f32e98fe 100644 --- a/config/always-pyzfs.m4 +++ b/config/always-pyzfs.m4 @@ -18,7 +18,12 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [ DEFINE_PYZFS='--without pyzfs' ]) ], [ - DEFINE_PYZFS='' + AS_IF([test $PYTHON != :], [ + DEFINE_PYZFS='' + ], [ + enable_pyzfs=no + DEFINE_PYZFS='--without pyzfs' + ]) ]) AC_SUBST(DEFINE_PYZFS) @@ -26,10 +31,10 @@ 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([test "${PYTHON_VERSION:0:2}" = "2."], [ + AS_IF([ZFS_AC_PYTHON_VERSION_IS_2], [ PYTHON_REQUIRED_VERSION=">= '2.7.0'" ], [ - AS_IF([test "${PYTHON_VERSION:0:2}" = "3."], [ + AS_IF([ZFS_AC_PYTHON_VERSION_IS_3], [ PYTHON_REQUIRED_VERSION=">= '3.4.0'" ], [ AC_MSG_ERROR("Python $PYTHON_VERSION unknown")