configure: automatically pick python3 is available

Unless overridden via an env var or configure arg, QEMU will only look
for the 'python' binary in $PATH. This is unhelpful on distros which
are only shipping Python 3.x (eg Fedora) in their default install as,
if they comply with PEP 394, the bare 'python' binary won't exist.

This changes configure so that by default it will search for all three
common python binaries, preferring to find Python 3.x versions.

Backports commit faf441429adfe5767be52c5dcdb8bc03161d064f from qemu
This commit is contained in:
Daniel P. Berrangé 2019-05-03 11:36:26 -04:00 committed by Lioncash
parent 73176e89ce
commit aec899b73e
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

18
qemu/configure vendored
View file

@ -484,7 +484,18 @@ Linux)
esac
: ${make=${MAKE-make}}
: ${python=${PYTHON-python}}
# We prefer python 3.x. A bare 'python' is traditionally
# python 2.x, but some distros have it as python 3.x, so
# we check that before python2
python=
for binary in "${PYTHON-python3}" python python2
do
if has "$binary"
then
python="$binary"
break
fi
done
# Default objcc to clang if available, otherwise use CC
if has clang; then
@ -579,8 +590,9 @@ done
# Remove old dependency files to make sure that they get properly regenerated
rm -f *-config-devices.mak.d
if ! has $python; then
error_exit "Python not found. Use --python=/path/to/python"
if test -z "$python"
then
error_exit "Python not found. Use --python=/path/to/python"
fi
# Note that if the Python conditional here evaluates True we will exit