aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/python.m413
-rwxr-xr-xconfigure9
-rw-r--r--doc/src/sgml/installation.sgml3
3 files changed, 19 insertions, 6 deletions
diff --git a/config/python.m4 b/config/python.m4
index b95c8ed3b34..b8d5b890b22 100644
--- a/config/python.m4
+++ b/config/python.m4
@@ -6,10 +6,17 @@
# PGAC_PATH_PYTHON
# ----------------
-# Look for Python and set the output variable 'PYTHON'
-# to 'python' if found, empty otherwise.
+# Look for Python and set the output variable 'PYTHON' if found,
+# fail otherwise.
+#
+# As the Python 3 transition happens and PEP 394 isn't updated, we
+# need to cater to systems that don't have unversioned "python" by
+# default. Some systems ship with "python3" by default and perhaps
+# have "python" in an optional package. Some systems only have
+# "python2" and "python3", in which case it's reasonable to prefer the
+# newer version.
AC_DEFUN([PGAC_PATH_PYTHON],
-[AC_PATH_PROG(PYTHON, python)
+[AC_PATH_PROGS(PYTHON, [python python3 python2])
if test x"$PYTHON" = x""; then
AC_MSG_ERROR([Python not found])
fi
diff --git a/configure b/configure
index 7eab1f8f752..5aff38ce984 100755
--- a/configure
+++ b/configure
@@ -7598,8 +7598,10 @@ fi
fi
if test "$with_python" = yes; then
- # Extract the first word of "python", so it can be a program name with args.
-set dummy python; ac_word=$2
+ for ac_prog in python python3 python2
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
@@ -7638,6 +7640,9 @@ $as_echo "no" >&6; }
fi
+ test -n "$PYTHON" && break
+done
+
if test x"$PYTHON" = x""; then
as_fn_error $? "Python not found" "$LINENO" 5
fi
diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml
index d1bb729c685..e2079d37a99 100644
--- a/doc/src/sgml/installation.sgml
+++ b/doc/src/sgml/installation.sgml
@@ -1415,7 +1415,8 @@ su - postgres
<![%standalone-include[the <application>PL/Python</>
documentation]]>
<![%standalone-ignore[<xref linkend="plpython-python23">]]>
- for more information.
+ for more information. If this is not set, the following are probed
+ in this order: <literal>python python3 python2</literal>.
</para>
</listitem>
</varlistentry>