This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFA] Fix automatic dependency tracking


This fixes the automatic dependency tracking bug I pointed out
eariler.  It restores the $(basename) wrapper so that the dependency
files are named "file.Po" rather than "file.o.Po".

I also tested the non-gcc3 dependency mode, which pointed out that
this case hadn't been working since the switch to C++.  This is also
fixed in this patch.

Tested by rebuilding.

gdb/ChangeLog
2017-10-08  Tom Tromey  <tom@tromey.com>

	* Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
	(COMPILE.pre): Use $(CXX).
---
 gdb/ChangeLog   | 5 +++++
 gdb/Makefile.in | 9 +++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index da4095d4a2..18e7750aba 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -2952,12 +2952,13 @@ ifeq ($(DEPMODE),depmode=gcc3)
 # into place if the compile succeeds.  We need this because gcc does
 # not atomically write the dependency output file.
 override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
-	-MF $(@D)/$(DEPDIR)/$(@F).Tpo
-override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(@F).Tpo \
-	$(@D)/$(DEPDIR)/$(@F).Po
+	-MF $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo
+override POSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).Tpo \
+	$(@D)/$(DEPDIR)/$(basename $(@F)).Po
 else
 override COMPILE.pre = source='$<' object='$@' libtool=no \
-	DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
+	DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) \
+	$(CXX) -x c++ $(CXX_DIALECT)
 # depcomp handles atomicity for us, so we don't need a postcompile
 # step.
 override POSTCOMPILE =
-- 
2.13.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]