aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2019-03-27 17:07:01 +0000
committerEduardo Habkost <ehabkost@redhat.com>2019-05-02 21:33:27 -0300
commitfaf441429adfe5767be52c5dcdb8bc03161d064f (patch)
treeed49f0f10433d9559a87984efa5d2b8534b31b77
parentb36b59371fbb39ae39645b16db85f9a49573309d (diff)
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. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20190327170701.23798-1-berrange@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
-rwxr-xr-xconfigure18
1 files changed, 15 insertions, 3 deletions
diff --git a/configure b/configure
index 60719ddcc5..f88011b94d 100755
--- a/configure
+++ b/configure
@@ -899,7 +899,18 @@ fi
: ${make=${MAKE-make}}
: ${install=${INSTALL-install}}
-: ${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
: ${smbd=${SMBD-/usr/sbin/smbd}}
# Default objcc to clang if available, otherwise use CC
@@ -1818,8 +1829,9 @@ EOF
exit 0
fi
-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