]> sourceware.org Git - automake.git/commitdiff
2001-02-17 Raja R Harinath <harinath@cs.umn.edu>
authorTom Tromey <tromey@redhat.com>
Sun, 18 Feb 2001 01:29:54 +0000 (01:29 +0000)
committerTom Tromey <tromey@redhat.com>
Sun, 18 Feb 2001 01:29:54 +0000 (01:29 +0000)
* depcomp (gcc3): Protect against the compiler deleting
the dependency output file.

ChangeLog
depcomp
lib/depcomp

index 800770308fc4ea5db038a92fb620472dcb71ba79..95843d02dc91b5188e1e4a444f604d4d98217e1e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-02-17  Raja R Harinath  <harinath@cs.umn.edu>
+
+       * depcomp (gcc3): Protect against the compiler deleting 
+       the dependency output file.
+
 2001-02-17  Tom Tromey  <tromey@redhat.com>
 
        * automake.in (handle_merge_targets): Use double quotes around
diff --git a/depcomp b/depcomp
index 78243e38c5ce55e5f386ac4aaffac3bb5a62e09d..30f36ee82b10e70370e3c084a51d869aa2edc1bf 100755 (executable)
--- a/depcomp
+++ b/depcomp
@@ -51,8 +51,14 @@ case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
 ## we want.  Yay!
-   exec "$@" -MT "$object" -MF "$depfile" -MD -MP
-   ;;
+  if "$@" -MT "$object" -MF "$tmpdepfile" -MD -MP; then :
+  else
+    stat=$?
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
 
 gcc)
 ## There are various ways to get dependency output from gcc.  Here's
index 78243e38c5ce55e5f386ac4aaffac3bb5a62e09d..30f36ee82b10e70370e3c084a51d869aa2edc1bf 100755 (executable)
@@ -51,8 +51,14 @@ case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
 ## we want.  Yay!
-   exec "$@" -MT "$object" -MF "$depfile" -MD -MP
-   ;;
+  if "$@" -MT "$object" -MF "$tmpdepfile" -MD -MP; then :
+  else
+    stat=$?
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
 
 gcc)
 ## There are various ways to get dependency output from gcc.  Here's
This page took 0.030404 seconds and 5 git commands to generate.