On Mon, 10 May 2021, Luca Fancellu wrote:
> Add ax_python_module.m4 to have a way to check if
> a python module is installed in the system.
>
> Add a function to docs_tool.m4 to throw an error if the
> required docs tool is missing.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> m4/ax_python_module.m4 | 56 ++++++++++++++++++++++++++++++++++++++++++
> m4/docs_tool.m4 | 9 +++++++
> 2 files changed, 65 insertions(+)
> create mode 100644 m4/ax_python_module.m4
>
> diff --git a/m4/ax_python_module.m4 b/m4/ax_python_module.m4
> new file mode 100644
> index 0000000000..107d88264a
> --- /dev/null
> +++ b/m4/ax_python_module.m4
> @@ -0,0 +1,56 @@
> +# ===========================================================================
> +# https://www.gnu.org/software/autoconf-archive/ax_python_module.html
> +# ===========================================================================
> +#
> +# SYNOPSIS
> +#
> +# AX_PYTHON_MODULE(modname[, fatal, python])
> +#
> +# DESCRIPTION
> +#
> +# Checks for Python module.
> +#
> +# If fatal is non-empty then absence of a module will trigger an error.
> +# The third parameter can either be "python" for Python 2 or "python3" for
> +# Python 3; defaults to Python 3.
> +#
> +# LICENSE
> +#
> +# Copyright (c) 2008 Andrew Collier
> +#
> +# Copying and distribution of this file, with or without modification, are
> +# permitted in any medium without royalty provided the copyright notice
> +# and this notice are preserved. This file is offered as-is, without any
> +# warranty.
> +
> +#serial 9
> +
> +AU_ALIAS([AC_PYTHON_MODULE], [AX_PYTHON_MODULE])
> +AC_DEFUN([AX_PYTHON_MODULE],[
> + if test -z $PYTHON;
> + then
> + if test -z "$3";
> + then
> + PYTHON="python3"
> + else
> + PYTHON="$3"
> + fi
> + fi
> + PYTHON_NAME=`basename $PYTHON`
> + AC_MSG_CHECKING($PYTHON_NAME module: $1)
> + $PYTHON -c "import $1" 2>/dev/null
> + if test $? -eq 0;
> + then
> + AC_MSG_RESULT(yes)
> + eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
> + else
> + AC_MSG_RESULT(no)
> + eval AS_TR_CPP(HAVE_PYMOD_$1)=no
> + #
> + if test -n "$2"
> + then
> + AC_MSG_ERROR(failed to find required module $1)
> + exit 1
> + fi
> + fi
> +])
> \ No newline at end of file
> diff --git a/m4/docs_tool.m4 b/m4/docs_tool.m4
> index 3e8814ac8d..39aa348026 100644
> --- a/m4/docs_tool.m4
> +++ b/m4/docs_tool.m4
> @@ -15,3 +15,12 @@ dnl
> AC_MSG_WARN([$2 is not available so some documentation won't be built])
> ])
> ])
> +
> +AC_DEFUN([AX_DOCS_TOOL_REQ_PROG], [
> +dnl
> + AC_ARG_VAR([$1], [Path to $2 tool])
> + AC_PATH_PROG([$1], [$2])
> + AS_IF([! test -x "$ac_cv_path_$1"], [
> + AC_MSG_ERROR([$2 is needed])
> + ])
> +])
> \ No newline at end of file
> --
> 2.17.1
>
>