From: Tom Tromey Date: Sun, 18 Feb 2001 01:29:54 +0000 (+0000) Subject: 2001-02-17 Raja R Harinath X-Git-Tag: handle-languages~294 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=6ac9e740dd45547004677960391fe7ac1e9b7d22;p=automake.git 2001-02-17 Raja R Harinath * depcomp (gcc3): Protect against the compiler deleting the dependency output file. --- diff --git a/ChangeLog b/ChangeLog index 80077030..95843d02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-02-17 Raja R Harinath + + * depcomp (gcc3): Protect against the compiler deleting + the dependency output file. + 2001-02-17 Tom Tromey * automake.in (handle_merge_targets): Use double quotes around diff --git a/depcomp b/depcomp index 78243e38..30f36ee8 100755 --- 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 diff --git a/lib/depcomp b/lib/depcomp index 78243e38..30f36ee8 100755 --- a/lib/depcomp +++ b/lib/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