1eda14cbcSMatt Macydnl # 2eda14cbcSMatt Macydnl # The majority of the python scripts are written to be compatible 3*e92ffd9bSMartin Matuskadnl # with Python 3.6. This option is intended to 4eda14cbcSMatt Macydnl # to provide a method to specify the default system version, and 5eda14cbcSMatt Macydnl # set the PYTHON environment variable accordingly. 6eda14cbcSMatt Macydnl # 7eda14cbcSMatt MacyAC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYTHON], [ 8eda14cbcSMatt Macy AC_ARG_WITH([python], 97877fdebSMatt Macy AS_HELP_STRING([--with-python[=VERSION]], 10eda14cbcSMatt Macy [default system python version @<:@default=check@:>@]), 11eda14cbcSMatt Macy [with_python=$withval], 12eda14cbcSMatt Macy [with_python=check]) 13eda14cbcSMatt Macy 14eda14cbcSMatt Macy AS_CASE([$with_python], 15*e92ffd9bSMartin Matuska [check], [AC_CHECK_PROGS([PYTHON], [python3], [:])], 16eda14cbcSMatt Macy [3*], [PYTHON="python${with_python}"], 17eda14cbcSMatt Macy [*python3*], [PYTHON="${with_python}"], 18eda14cbcSMatt Macy [no], [PYTHON=":"], 19eda14cbcSMatt Macy [AC_MSG_ERROR([Unknown --with-python value '$with_python'])] 20eda14cbcSMatt Macy ) 21eda14cbcSMatt Macy 22eda14cbcSMatt Macy dnl # 23*e92ffd9bSMartin Matuska dnl # Minimum supported Python versions for utilities: Python 3.6 24eda14cbcSMatt Macy dnl # 25eda14cbcSMatt Macy AM_PATH_PYTHON([], [], [:]) 26eda14cbcSMatt Macy AS_IF([test -z "$PYTHON_VERSION"], [ 27dae17134SMartin Matuska PYTHON_VERSION=$(echo ${PYTHON##*/} | tr -cd 0-9.) 28eda14cbcSMatt Macy ]) 29eda14cbcSMatt Macy PYTHON_MINOR=${PYTHON_VERSION#*\.} 30eda14cbcSMatt Macy 31eda14cbcSMatt Macy AS_CASE([$PYTHON_VERSION], 32eda14cbcSMatt Macy [3.*], [ 33*e92ffd9bSMartin Matuska AS_IF([test $PYTHON_MINOR -lt 6], 34*e92ffd9bSMartin Matuska [AC_MSG_ERROR("Python >= 3.6 is required")]) 35eda14cbcSMatt Macy ], 36eda14cbcSMatt Macy [:|2|3], [], 37eda14cbcSMatt Macy [PYTHON_VERSION=3] 38eda14cbcSMatt Macy ) 39eda14cbcSMatt Macy 40eda14cbcSMatt Macy AM_CONDITIONAL([USING_PYTHON], [test "$PYTHON" != :]) 41*e92ffd9bSMartin Matuska AC_SUBST([PYTHON_SHEBANG], [python3]) 42eda14cbcSMatt Macy 43eda14cbcSMatt Macy dnl # 44eda14cbcSMatt Macy dnl # Request that packages be built for a specific Python version. 45eda14cbcSMatt Macy dnl # 46eda14cbcSMatt Macy AS_IF([test "x$with_python" != xcheck], [ 47eda14cbcSMatt Macy PYTHON_PKG_VERSION=$(echo $PYTHON_VERSION | tr -d .) 48eda14cbcSMatt Macy DEFINE_PYTHON_PKG_VERSION='--define "__use_python_pkg_version '${PYTHON_PKG_VERSION}'"' 49eda14cbcSMatt Macy DEFINE_PYTHON_VERSION='--define "__use_python '${PYTHON}'"' 50eda14cbcSMatt Macy ], [ 51eda14cbcSMatt Macy DEFINE_PYTHON_VERSION='' 52eda14cbcSMatt Macy DEFINE_PYTHON_PKG_VERSION='' 53eda14cbcSMatt Macy ]) 54eda14cbcSMatt Macy 55eda14cbcSMatt Macy AC_SUBST(DEFINE_PYTHON_VERSION) 56eda14cbcSMatt Macy AC_SUBST(DEFINE_PYTHON_PKG_VERSION) 57eda14cbcSMatt Macy]) 58