When docs are explicitly requested, require Sphinx>=1.6.0. When docs are explicitly disabled, don't bother to check for Sphinx at all. If docs are set to "auto", attempt to locate Sphinx, but continue onward if it wasn't located.
For the case that --enable-pypi is set to 'enabled' (the default) but docs are set to 'auto' (also the default), do not actually consult PyPI to install Sphinx. Only perform this action when docs are requested explicitly. Signed-off-by: John Snow <js...@redhat.com> --- configure | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 0881fffc14..a247b9491c 100755 --- a/configure +++ b/configure @@ -1122,14 +1122,14 @@ fi # Suppress writing compiled files python="$python -B" - +mkvenv="$python ${source_path}/python/scripts/mkvenv.py" mkvenv_flags="" if test "$pypi" = "enabled" ; then mkvenv_flags="--online" fi -if ! $python "${source_path}/python/scripts/mkvenv.py" ensure \ +if ! $mkvenv ensure \ $mkvenv_flags \ --dir "${source_path}/python/wheels" \ --diagnose "meson" \ @@ -1144,6 +1144,29 @@ fi # *exclusively*. meson="$(cd pyvenv/bin; pwd)/meson" +# Conditionally ensure Sphinx is installed. + +mkvenv_flags="" +if test "$pypi" = "enabled" -a "$docs" = "enabled" ; then + mkvenv_flags="--online" +fi + +if test "$docs" != "disabled" ; then + if ! $mkvenv ensure \ + $mkvenv_flags \ + --diagnose "sphinx-build" \ + "sphinx>=1.6.0" ; + then + if test "$docs" = "enabled" ; then + exit 1 + fi + echo "Sphinx not found/usable, disabling docs." + docs=disabled + else + docs=enabled + fi +fi + echo "MKVENV ok!" # Probe for ninja -- 2.39.2