[binutils-gdb/gdb-9-branch] Abort configure immediately if building GDB in tree

Joel Brobecker brobecke@sourceware.org
Fri Jan 17 18:31:00 GMT 2020


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

commit 043a0010933a6b55081535ecaf7fde9cc1491be0
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Fri Jan 17 19:30:39 2020 +0100

    Abort configure immediately if building GDB in tree
    
    The move of gnulib to the top src directory is causing the GDB build
    to break if configured in tree. We hope to lift that limitation at
    some point but, in the meantime, this commit allows us to abort
    the initial configure right away with a clear error message should
    the user attempt to build in tree.
    
    ChangeLog:
    
            * configure.ac: Abort the build with an error if trying to build
            GDB in tree.
            * configure: Regenerate.

Diff:
---
 ChangeLog    |  6 ++++++
 configure    | 17 +++++++++++++++++
 configure.ac | 17 +++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 8c60466..0bfe989 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-17  Joel Brobecker  <brobecker@adacore.com>
+
+	* configure.ac: Abort the build with an error if trying to build
+	GDB in tree.
+	* configure: Regenerate.
+
 2019-10-17  Sergio Durigan Junior  <sergiodj@redhat.com>
 
 	* src-release.sh (GDB_SUPPORT_DIRS): Add libctf.
diff --git a/configure b/configure
index 6a9719f..7168a4e 100755
--- a/configure
+++ b/configure
@@ -2279,6 +2279,23 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+if test x"${enable_gdb}" != x"no"; then
+  # For this branch, we do not support building GDB in-tree.
+  # Try to detect whether we are in this situation or not by
+  # searching for a couple of known files in the source directory.
+  if test -f gnulib/update-gnulib.sh -a -f gdb/ChangeLog; then
+    as_fn_error $? "GDB must be configured and built in a directory separate from its sources.
+
+To do so, create a dedicated directory for your GDB build and invoke
+the configure script from that directory:
+
+      $ mkdir build
+      $ cd build
+      $ <full path to your sources>/gdb-VERSION/configure [etc...]
+      $ make" "$LINENO" 5
+  fi
+fi
+
 progname=$0
 # if PWD already has a value, it is probably wrong.
 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
diff --git a/configure.ac b/configure.ac
index 7433bad..e5ca1ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,23 @@ m4_include([config/isl.m4])
 AC_INIT(move-if-change)
 AC_DISABLE_OPTION_CHECKING
 
+if test x"${enable_gdb}" != x"no"; then
+  # For this branch, we do not support building GDB in-tree.
+  # Try to detect whether we are in this situation or not by
+  # searching for a couple of known files in the source directory.
+  if test -f gnulib/update-gnulib.sh -a -f gdb/ChangeLog; then
+    AC_MSG_ERROR([GDB must be configured and built in a directory separate from its sources.
+
+To do so, create a dedicated directory for your GDB build and invoke
+the configure script from that directory:
+
+      $ mkdir build
+      $ cd build
+      $ <full path to your sources>/gdb-VERSION/configure [[etc...]]
+      $ make])
+  fi
+fi
+
 progname=$0
 # if PWD already has a value, it is probably wrong.
 if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi



More information about the Binutils-cvs mailing list