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