mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 19:04:45 +03:00
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 <ngompa@datto.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes #8895
This commit is contained in:
committed by
Brian Behlendorf
parent
7218b29e4b
commit
b1b4ac2708
+23
-64
@@ -1,47 +1,3 @@
|
||||
dnl #
|
||||
dnl # ZFS_AC_PYTHON_VERSION(version, [action-if-true], [action-if-false])
|
||||
dnl #
|
||||
dnl # Verify Python version
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_PYTHON_VERSION], [
|
||||
ver_check=`$PYTHON -c "import sys; print (sys.version.split()[[0]] $1)"`
|
||||
AS_IF([test "$ver_check" = "True"], [
|
||||
m4_ifvaln([$2], [$2])
|
||||
], [
|
||||
m4_ifvaln([$3], [$3])
|
||||
])
|
||||
])
|
||||
|
||||
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 #
|
||||
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 # The majority of the python scripts are written to be compatible
|
||||
dnl # with Python 2.6 and Python 3.4. Therefore, they may be installed
|
||||
@@ -66,35 +22,38 @@ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYTHON], [
|
||||
[AC_MSG_ERROR([Unknown --with-python value '$with_python'])]
|
||||
)
|
||||
|
||||
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_CONDITIONAL([USING_PYTHON], [test "$PYTHON" != :])
|
||||
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 # Python 2.6 or Python 3.4
|
||||
dnl #
|
||||
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")])
|
||||
AM_PATH_PYTHON([], [], [:])
|
||||
AS_IF([test -z "$PYTHON_VERSION"], [
|
||||
PYTHON_VERSION=$(basename $PYTHON | tr -cd 0-9.)
|
||||
])
|
||||
PYTHON_MINOR=${PYTHON_VERSION#*\.}
|
||||
|
||||
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")])
|
||||
])
|
||||
AS_CASE([$PYTHON_VERSION],
|
||||
[2.*], [
|
||||
AS_IF([test $PYTHON_MINOR -lt 6],
|
||||
[AC_MSG_ERROR("Python >= 2.6 is required")])
|
||||
],
|
||||
[3.*], [
|
||||
AS_IF([test $PYTHON_MINOR -lt 4],
|
||||
[AC_MSG_ERROR("Python >= 3.4 is required")])
|
||||
],
|
||||
[:|2|3], [],
|
||||
[PYTHON_VERSION=3]
|
||||
)
|
||||
|
||||
AM_CONDITIONAL([USING_PYTHON], [test "$PYTHON" != :])
|
||||
AM_CONDITIONAL([USING_PYTHON_2], [test "x${PYTHON_VERSION%%\.*}" = x2])
|
||||
AM_CONDITIONAL([USING_PYTHON_3], [test "x${PYTHON_VERSION%%\.*}" = x3])
|
||||
|
||||
dnl #
|
||||
dnl # Request that packages be built for a specific Python version.
|
||||
dnl #
|
||||
AS_IF([test $with_python != check], [
|
||||
PYTHON_PKG_VERSION=`echo ${PYTHON} | tr -d 'a-zA-Z.'`
|
||||
AS_IF([test "x$with_python" != xcheck], [
|
||||
PYTHON_PKG_VERSION=$(echo $PYTHON_VERSION | tr -d .)
|
||||
DEFINE_PYTHON_PKG_VERSION='--define "__use_python_pkg_version '${PYTHON_PKG_VERSION}'"'
|
||||
DEFINE_PYTHON_VERSION='--define "__use_python '${PYTHON}'"'
|
||||
], [
|
||||
|
||||
Reference in New Issue
Block a user