configure: Check that sphinx-build is using Python 3
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 13 Feb 2020 17:56:19 +0000 (17:56 +0000)
committerMarkus Armbruster <armbru@redhat.com>
Sat, 15 Feb 2020 10:41:49 +0000 (11:41 +0100)
commit758b617af804b7163eb28be2d44ce526580c06f7
treedfa25dab013300f957697f7ed11de6a8ccba9d38
parent903458c8abdb5f6b2393a167a077899ab3e1a36c
configure: Check that sphinx-build is using Python 3

Currently configure's has_sphinx_build() check simply runs a dummy
sphinx-build and either passes or fails.  This means that "no
sphinx-build at all" and "sphinx-build exists but is too old" are
both reported the same way.

Further, we want to assume that all the Python we write is running
with at least Python 3.5; configure checks that for our scripts, but
Sphinx extensions run with whatever Python version sphinx-build
itself is using.

Add a check to our conf.py which makes sphinx-build fail if it would
be running our extensions with an old Python, and handle this
in configure so we can report failure helpfully to the user.
This will mean that configure --enable-docs will fail like this
if the sphinx-build provided is not suitable:

Warning: sphinx-build exists but it is either too old or uses too old a Python version

ERROR: User requested feature docs
       configure was not able to find it.
       Install texinfo, Perl/perl-podlators and a Python 3 version of python-sphinx

(As usual, the default is to simply not build the docs, as we would
if sphinx-build wasn't present at all.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Message-Id: <20200213175647.17628-3-peter.maydell@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
configure
docs/conf.py