[master,+,11] gdb/Makefile.in: remove testsuite from SUBDIRS

Message ID 20210707132049.2976992-1-simon.marchi@polymtl.ca
State New
Headers show
  • [master,+,11] gdb/Makefile.in: remove testsuite from SUBDIRS
Related show

Commit Message

Simon Marchi via Gdb-patches July 7, 2021, 1:20 p.m.
When distclean-ing a configured / built gdb directory, like so:

    $ ./configure && make all-gdb && make distclean

The distclean operation fails with:

    Missing testsuite/Makefile

If we look at the SUBDIRS variable in the generated gdb/Makefile,
testsuite is there twice:

    SUBDIRS = doc  testsuite data-directory testsuite

So we try distclean-ing the testsuite directory twice.  The second time,
gdb/testsuite/Makefile doesn't exist, so it fails.

The first "testsuite" comes from the @subdirs@ replacement, because of
the `AC_CONFIG_SUBDIRS` macro in gdb/configure.ac.  The second one is
hard-coded in gdb/Makefile.in:

    SUBDIRS = doc @subdirs@ data-directory testsuite

The hard-coded was added by:

    bdbbcd577460 ("Always build 'all' in gdb/testsuite")

which came after `testsuite` was removed from @subdirs@ by:

    f99d1d37496f ("Remove gdb/testsuite/configure")

My commit a100a94530eb ("gdb/testsuite: restore configure script")
should have removed the hard-coded `testsuite`, since it added it back
as a "subdir", but I missed it because I only looked f99d1d37496f to
write my patch.

Fix this by removing the hard-coded one.

This patch should be pushed to both master and gdb-11-branch, hence the
ChangeLog entry:


	* Makefile.in (SUBDIRS): Remove testsuite.

Change-Id: I63e5590b1a08673c646510b3ecc74600eae9f92d
 gdb/Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 1bc97885536e..53beb3ab2542 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1591,7 +1591,7 @@  COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
-SUBDIRS = doc @subdirs@ data-directory testsuite
+SUBDIRS = doc @subdirs@ data-directory
 # List of subdirectories in the build tree that must exist.