qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] configure: automatically pick python3 is available


From: Daniel P . Berrangé
Subject: [Qemu-devel] [PATCH] configure: automatically pick python3 is available
Date: Fri, 1 Mar 2019 16:33:46 +0000

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é <address@hidden>
---
 configure | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 540bee19ba..ef2e5bf9f5 100755
--- a/configure
+++ b/configure
@@ -902,7 +902,10 @@ 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=${PYTHON-python3 python python2}}
 : ${smbd=${SMBD-/usr/sbin/smbd}}
 
 # Default objcc to clang if available, otherwise use CC
@@ -1797,8 +1800,20 @@ EOF
 exit 0
 fi
 
-if ! has $python; then
-  error_exit "Python not found. Use --python=/path/to/python"
+try_python="$python"
+python=
+for binary in $try_python
+do
+    if has $binary
+    then
+       python=$binary
+       break
+    fi
+done
+
+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
-- 
2.20.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]