[binutils-gdb] Fix gdbserver-without-gdb build

Tom Tromey tromey@sourceware.org
Mon Feb 17 17:05:00 GMT 2020


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

commit b6f9caee52be22ec3ff46f2773aef473625b8033
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Feb 17 10:00:26 2020 -0700

    Fix gdbserver-without-gdb build
    
    An earlier patch changed gdbserver to use the already-built top-level
    gnulib and gdbsupport.  However, if one did a build that did not
    include gdb, then gdbserver would fail to build.
    
    The problem is that configure.ac only adds gnulib and gdbsupport to
    the build when gdb is being built.  This patch fixes the problem by
    arranging for this to happen when gdbserver is built.
    
    ChangeLog
    2020-02-17  Tom Tromey  <tom@tromey.com>
    
    	* configure: Rebuild.
    	* configure.ac (configdirs): Add gnulib and gdbsupport when building
    	gdbserver.

Diff:
---
 ChangeLog    |  6 ++++++
 configure    | 18 +++++++++++-------
 configure.ac | 18 +++++++++++-------
 3 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7f6486f..880ffdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-02-17  Tom Tromey  <tom@tromey.com>
+
+	* configure: Rebuild.
+	* configure.ac (configdirs): Add gnulib and gdbsupport when building
+	gdbserver.
+
 2020-02-14  Tom Tromey  <tom@tromey.com>
 
 	* Makefile.in: Rebuild.
diff --git a/configure b/configure
index 8a3e702..1c5403e 100755
--- a/configure
+++ b/configure
@@ -7360,13 +7360,17 @@ esac
 CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
 INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
 
-# gdb depends on gnulib and gdbsupport, but as nothing else does, only
-# include them if gdb is built.
-if echo " ${configdirs} " | grep " gdb " > /dev/null 2>&1 ; then
-  # The Makefile provides the ordering, so it's enough here to add to
-  # the list.
-  configdirs="${configdirs} gnulib gdbsupport"
-fi
+# gdb and gdbserver depend on gnulib and gdbsupport, but as nothing
+# else does, only include them if one of these is built.  The Makefile
+# provides the ordering, so it's enough here to add to the list.
+case " ${configdirs} " in
+  *\ gdb\ *)
+    configdirs="${configdirs} gnulib gdbsupport"
+    ;;
+  *\ gdbserver\ *)
+    configdirs="${configdirs} gnulib gdbsupport"
+    ;;
+esac
 
 # Strip out unwanted targets.
 
diff --git a/configure.ac b/configure.ac
index 35a9c18..f306509 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2746,13 +2746,17 @@ esac
 CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
 INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
 
-# gdb depends on gnulib and gdbsupport, but as nothing else does, only
-# include them if gdb is built.
-if echo " ${configdirs} " | grep " gdb " > /dev/null 2>&1 ; then
-  # The Makefile provides the ordering, so it's enough here to add to
-  # the list.
-  configdirs="${configdirs} gnulib gdbsupport"
-fi
+# gdb and gdbserver depend on gnulib and gdbsupport, but as nothing
+# else does, only include them if one of these is built.  The Makefile
+# provides the ordering, so it's enough here to add to the list.
+case " ${configdirs} " in
+  *\ gdb\ *)
+    configdirs="${configdirs} gnulib gdbsupport"
+    ;;
+  *\ gdbserver\ *)
+    configdirs="${configdirs} gnulib gdbsupport"
+    ;;
+esac
 
 # Strip out unwanted targets.



More information about the Gdb-cvs mailing list