summaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-28 13:32:47 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2008-03-28 13:32:47 +0000
commit5a95978235e0d1b18209e275a3f113fe437dfb67 (patch)
treef7af31c4990ce6a161dc543d9d215869789403d7 /libcpp
parent93116081c61535ca4dc5cb6ceb37971004446a33 (diff)
downloadgcc-5a95978235e0d1b18209e275a3f113fe437dfb67.tar.gz
* Makefile.in (POSTCOMPILE): New variable.
(.c.o): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133682 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog5
-rw-r--r--libcpp/Makefile.in12
2 files changed, 15 insertions, 2 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index 8e8dfe4626f..0b3ce8b3a0c 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-28 Tom Tromey <tromey@redhat.com>
+
+ * Makefile.in (POSTCOMPILE): New variable.
+ (.c.o): Use it.
+
2008-03-13 Tom Tromey <tromey@redhat.com>
PR libcpp/35322:
diff --git a/libcpp/Makefile.in b/libcpp/Makefile.in
index 7f4be52ddee..4112c6633de 100644
--- a/libcpp/Makefile.in
+++ b/libcpp/Makefile.in
@@ -1,7 +1,7 @@
# @configure_input@
# Makefile for libcpp. Run 'configure' to generate Makefile from Makefile.in
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2008 Free Software Foundation, Inc.
#This file is part of libcpp.
@@ -197,16 +197,24 @@ update-po: $(CATALOGS:.gmo=.pox)
# Dependency rule.
COMPILE.base = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(ALL_CFLAGS) -c
ifeq ($(DEPMODE),depmode=gcc3)
-COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Po
+# Note that we put the dependencies into a .Tpo file, then move them
+# into place if the compile succeeds. We need this because gcc does
+# not atomically write the dependency output file.
+COMPILE = $(COMPILE.base) -o $@ -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Tpo
+POSTCOMPILE = @mv $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
else
COMPILE = source='$<' object='$@' libtool=no DEPDIR=$(DEPDIR) $(DEPMODE) \
$(depcomp) $(COMPILE.base)
+# depcomp handles atomicity for us, so we don't need a postcompile
+# step.
+POSTCOMPILE =
endif
# Implicit rules and I18N
.c.o:
$(COMPILE) $<
+ $(POSTCOMPILE)
# N.B. We do not attempt to copy these into $(srcdir).
.po.gmo: