public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@sourceware.org>
To: gdb-cvs@sourceware.org
Subject: [binutils-gdb] gdb/python: look for python, then python 3 at configure time
Date: Mon, 18 Jul 2022 10:34:12 +0000 (GMT)	[thread overview]
Message-ID: <20220718103412.A2A543858C51@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=602d2b520dc5917c2353987032c881f79b34d634

commit 602d2b520dc5917c2353987032c881f79b34d634
Author: Andrew Burgess <aburgess@redhat.com>
Date:   Mon Jul 4 16:40:05 2022 +0100

    gdb/python: look for python, then python 3 at configure time
    
    It is possible that a system might have a python3 executable, but no
    python executable.  For example, on my Fedora system the python2
    package provides /usr/bin/python2, the python3 package provides
    /usr/bin/python3, and the python-unversioned-command package provides
    /usr/bin/python, which picks between python2 and python3.
    
    It is quite possible to only have python3 available on a system.
    
    Currently, when GDB configures, it looks for a 'python' executable.
    If non is found then GDB will be built without python support.  Or the
    user needs to configure using --with-python=/usr/bin/python3.
    
    This commit updates GDB's configure.ac script to first look for
    'python', and then 'python3'.  Now, on a system that only has a
    python3 executable, GDB will automatically find, and use that in order
    to provide python support, no user supplied configure arguments are
    needed.
    
    I've tested this on my local machine by removing the
    python-unversioned-command package, confirming that there is no longer
    a 'python' executable in my $PATH, and then rebuilding GDB from
    scratch.  GDB with this patch has python support.

Diff:
---
 gdb/configure    | 12 +++++++++---
 gdb/configure.ac |  3 ++-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/gdb/configure b/gdb/configure
index 1b821390801..4b5e031bff9 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -11098,8 +11098,11 @@ else
     case "${with_python}" in
     yes | auto)
       if test "${build}" = "${host}"; then
-        # Extract the first word of "python", so it can be a program name with args.
-set dummy python; ac_word=$2
+        # Look first for 'python', then 'python3'.
+        for ac_prog in python python3
+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_prog_path+:} false; then :
@@ -11125,7 +11128,6 @@ done
   done
 IFS=$as_save_IFS
 
-  test -z "$ac_cv_path_python_prog_path" && ac_cv_path_python_prog_path="missing"
   ;;
 esac
 fi
@@ -11139,6 +11141,10 @@ $as_echo "no" >&6; }
 fi
 
 
+  test -n "$python_prog_path" && break
+done
+test -n "$python_prog_path" || python_prog_path="missing"
+
         if test "${python_prog_path}" = missing; then
           python_prog=missing
         else
diff --git a/gdb/configure.ac b/gdb/configure.ac
index bf03b875dfe..b681988d7a4 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -811,7 +811,8 @@ else
     case "${with_python}" in
     yes | auto)
       if test "${build}" = "${host}"; then
-        AC_PATH_PROG(python_prog_path, python, missing)
+        # Look first for 'python', then 'python3'.
+        AC_PATH_PROGS(python_prog_path, [python python3], missing)
         if test "${python_prog_path}" = missing; then
           python_prog=missing
         else


                 reply	other threads:[~2022-07-18 10:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220718103412.A2A543858C51@sourceware.org \
    --to=aburgess@sourceware.org \
    --cc=gdb-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).